{"components":{"headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}},"responses":{"PhotonAuthorization401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"PhotonAuthorization403":{"content":{"application/problem+json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"PhotonAuthorization500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"PhotonAuthorization503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}}},"schemas":{"AcceptOrganizationInvitationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"AcceptOrganizationInvitationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"AcceptOrganizationInvitationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"AcceptOrganizationInvitationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"AcceptOrganizationInvitationRequest":{"additionalProperties":false,"properties":{"token":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"}},"required":["token"],"type":"object"},"AcceptOrganizationInvitationResponse":{"additionalProperties":false,"properties":{"allProjects":{"const":true,"type":"boolean"},"organizationId":{"type":"string"},"organizationName":{"type":"string"},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"status":{"enum":["accepted","already_member","role_managed"],"type":"string"}},"required":["allProjects","organizationId","organizationName","role","status"],"type":"object"},"AcceptOrganizationInvitationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"AcceptedEmailMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/EmailMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedImessageMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/ImessageMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedMessageTimestamps":{"additionalProperties":false,"properties":{"acceptedAt":{"description":"When Photon finalized terminal acceptance.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"deliveredAt":{"not":{}},"dispatchedAt":{"description":"When the emitting service established the public dispatch/send milestone.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failedAt":{"not":{}},"receivedAt":{"not":{}}},"required":["dispatchedAt","acceptedAt"],"type":"object"},"AcceptedSmsMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/SmsMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedTelegramMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/TelegramMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedUnknownMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/Content"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedWhatsappBusinessMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappBusinessMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"AcceptedWhatsappMessage":{"additionalProperties":false,"properties":{"acceptance":{"$ref":"#/components/schemas/MessageAcceptance"},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"accepted","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/AcceptedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","acceptance","status","timestamps"],"type":"object"},"Account":{"additionalProperties":{},"properties":{"accountId":{"type":"string"},"createdAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"deletedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"email":{"description":"Email address supplied by the identity provider.","minLength":1,"pattern":"\\S","type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"impersonator":{"$ref":"#/components/schemas/AccountImpersonator"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"phoneNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"phoneVerifiedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"pictureUrl":{"format":"uri","type":"string"},"updatedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]}},"required":["accountId","createdAt","deletedAt","email","firstName","lastName","phoneNumber","phoneVerifiedAt","pictureUrl","updatedAt"],"type":"object"},"AccountClosingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_CLOSING","status":409,"title":"Account Is Closing","type":"https://photon.codes/docs/problems/account-closing"},"properties":{"code":{"const":"ACCOUNT_CLOSING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Account Is Closing","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-closing","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AccountDeletedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_DELETED","status":410,"title":"Account Deleted","type":"https://photon.codes/docs/problems/account-deleted"},"properties":{"code":{"const":"ACCOUNT_DELETED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"title":{"const":"Account Deleted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-deleted","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AccountImpersonator":{"additionalProperties":{},"description":"Present only while a WorkOS dashboard admin is impersonating this account: the admin's email. Attribution only; grants nothing.","properties":{"email":{"type":"string"}},"required":["email"],"type":"object"},"AccountNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_NOT_FOUND","status":404,"title":"Account Not Found","type":"https://photon.codes/docs/problems/account-not-found"},"properties":{"code":{"const":"ACCOUNT_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Account Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AccountOwnsOrganizationsProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_OWNS_ORGANIZATIONS","status":409,"title":"Account Owns Organizations","type":"https://photon.codes/docs/problems/account-owns-organizations"},"properties":{"code":{"const":"ACCOUNT_OWNS_ORGANIZATIONS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Account Owns Organizations","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-owns-organizations","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AccountServiceKey":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"expiresAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"name":{"type":"string"},"revokedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"serviceKeyId":{"type":"string"}},"required":["accountId","createdAt","expiresAt","name","revokedAt","serviceKeyId"],"type":"object"},"AccountServiceKeyLimitReachedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_SERVICE_KEY_LIMIT_REACHED","status":409,"title":"Account Service Key Limit Reached","type":"https://photon.codes/docs/problems/account-service-key-limit-reached"},"properties":{"code":{"const":"ACCOUNT_SERVICE_KEY_LIMIT_REACHED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Account Service Key Limit Reached","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-service-key-limit-reached","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AccountServiceKeyNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ACCOUNT_SERVICE_KEY_NOT_FOUND","status":404,"title":"Account Service Key Not Found","type":"https://photon.codes/docs/problems/account-service-key-not-found"},"properties":{"code":{"const":"ACCOUNT_SERVICE_KEY_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Account Service Key Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/account-service-key-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AgentProfile":{"additionalProperties":false,"properties":{"avatarUrl":{"format":"uri","type":"string"},"firstName":{"minLength":1,"type":"string"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["avatarUrl","firstName","lastName"],"type":"object"},"AgentProfileAvatarContentType":{"enum":["image/jpeg","image/png","image/webp"],"type":"string"},"AgentProfileAvatarUpload":{"additionalProperties":false,"properties":{"expiresAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"formFields":{"$ref":"#/components/schemas/AgentProfileAvatarUploadFormFields"},"uploadId":{"type":"string"},"uploadUrl":{"format":"uri","type":"string"}},"required":["expiresAt","formFields","uploadId","uploadUrl"],"type":"object"},"AgentProfileAvatarUploadFormFields":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"AllWebhookEvents":{"prefixItems":[{"$ref":"#/components/schemas/WebhookEventWildcard"}],"type":"array"},"AnsweredCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"answered","type":"string"},"timestamps":{"$ref":"#/components/schemas/AnsweredCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"AnsweredCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"description":"When the destination accepted the Call.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"connectedAt":{"not":{}},"endedAt":{"not":{}},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","answeredAt"],"type":"object"},"AnyExternalWebhookReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/AnyExternalWebhookReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"$ref":"#/components/schemas/AnyExternalWebhookReceivedEventSource"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"external-webhook.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"AnyExternalWebhookReceivedEventData":{"additionalProperties":false,"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"rawRequestBase64":{"contentEncoding":"base64","format":"base64","minLength":1,"pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","type":"string"}},"required":["rawRequestBase64"],"type":"object"},"AnyExternalWebhookReceivedEventSource":{"pattern":"^[a-z0-9_-]{1,64}\\.external-webhook\\.photon$","type":"string"},"ApiKey":{"additionalProperties":false,"properties":{"apiKeyId":{"type":"string"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"createdByAccountId":{"type":"string"},"expiresAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"name":{"type":"string"},"permissions":{"items":{"description":"Permission wire value. Known values: calls:read, events:read, events:write, messages:read, platforms:read, platforms:write, project:read, project:write. Additional values may be returned; preserve unrecognized values.","type":"string"},"type":"array"},"permissionsUpdatedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"projectId":{"type":"string"},"revokedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]}},"required":["apiKeyId","createdAt","createdByAccountId","expiresAt","name","permissions","permissionsUpdatedAt","projectId","revokedAt"],"type":"object"},"ApiKeyLimitReachedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"API_KEY_LIMIT_REACHED","status":409,"title":"API Key Limit Reached","type":"https://photon.codes/docs/problems/api-key-limit-reached"},"properties":{"code":{"const":"API_KEY_LIMIT_REACHED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"API Key Limit Reached","type":"string"},"type":{"const":"https://photon.codes/docs/problems/api-key-limit-reached","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ApiKeyNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"API_KEY_NOT_FOUND","status":404,"title":"API Key Not Found","type":"https://photon.codes/docs/problems/api-key-not-found"},"properties":{"code":{"const":"API_KEY_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"API Key Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/api-key-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ApiKeyPermission":{"enum":["calls:read","events:read","events:write","messages:read","platforms:read","platforms:write","project:read","project:write"],"type":"string"},"ApiKeyRevokedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"API_KEY_REVOKED","status":409,"title":"API Key Revoked","type":"https://photon.codes/docs/problems/api-key-revoked"},"properties":{"code":{"const":"API_KEY_REVOKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"API Key Revoked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/api-key-revoked","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationAssertionInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_ASSERTION_INVALID","status":401,"title":"Invalid Installation Client Assertion","type":"https://photon.codes/docs/problems/app-installation-assertion-invalid"},"properties":{"code":{"const":"APP_INSTALLATION_ASSERTION_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":401,"type":"number"},"title":{"const":"Invalid Installation Client Assertion","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-assertion-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationAssertionReplayedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_ASSERTION_REPLAYED","status":409,"title":"Installation Assertion Already Used","type":"https://photon.codes/docs/problems/app-installation-assertion-replayed"},"properties":{"code":{"const":"APP_INSTALLATION_ASSERTION_REPLAYED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation Assertion Already Used","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-assertion-replayed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationConfigChangedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_CONFIG_CHANGED","status":409,"title":"Installation App Configuration Changed","type":"https://photon.codes/docs/problems/app-installation-config-changed"},"properties":{"code":{"const":"APP_INSTALLATION_CONFIG_CHANGED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation App Configuration Changed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-config-changed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationConfigNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_CONFIG_NOT_FOUND","status":404,"title":"App Installation Configuration Not Found","type":"https://photon.codes/docs/problems/app-installation-config-not-found"},"properties":{"code":{"const":"APP_INSTALLATION_CONFIG_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"App Installation Configuration Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-config-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationConfigUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_CONFIG_UNAVAILABLE","status":409,"title":"App Installation Configuration Unavailable","type":"https://photon.codes/docs/problems/app-installation-config-unavailable"},"properties":{"code":{"const":"APP_INSTALLATION_CONFIG_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"App Installation Configuration Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-config-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationConfigVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT","status":409,"title":"App Installation Configuration Version Conflict","type":"https://photon.codes/docs/problems/app-installation-config-version-conflict"},"properties":{"code":{"const":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"App Installation Configuration Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-config-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationDeliveryUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_DELIVERY_UNAVAILABLE","status":409,"title":"Installation Delivery Unavailable","type":"https://photon.codes/docs/problems/app-installation-delivery-unavailable"},"properties":{"code":{"const":"APP_INSTALLATION_DELIVERY_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation Delivery Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-delivery-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationId":{"pattern":"^pho_ain_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"AppInstallationManagedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_MANAGED","status":409,"title":"App Installation Managed","type":"https://photon.codes/docs/problems/app-installation-managed"},"properties":{"code":{"const":"APP_INSTALLATION_MANAGED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"App Installation Managed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-managed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_NOT_FOUND","status":404,"title":"Installation Not Found","type":"https://photon.codes/docs/problems/app-installation-not-found"},"properties":{"code":{"const":"APP_INSTALLATION_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Installation Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationPermissionsInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_PERMISSIONS_INVALID","status":400,"title":"Installation Permissions Invalid","type":"https://photon.codes/docs/problems/app-installation-permissions-invalid"},"properties":{"code":{"const":"APP_INSTALLATION_PERMISSIONS_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Installation Permissions Invalid","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-permissions-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationRedirectUriInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_REDIRECT_URI_INVALID","status":409,"title":"App Installation Redirect URI Invalid","type":"https://photon.codes/docs/problems/app-installation-redirect-uri-invalid"},"properties":{"code":{"const":"APP_INSTALLATION_REDIRECT_URI_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"App Installation Redirect URI Invalid","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-redirect-uri-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationRepairUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_REPAIR_UNAVAILABLE","status":409,"title":"Installation Repair Unavailable","type":"https://photon.codes/docs/problems/app-installation-repair-unavailable"},"properties":{"code":{"const":"APP_INSTALLATION_REPAIR_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation Repair Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-repair-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationRequestAlreadyBoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_REQUEST_ALREADY_BOUND","status":409,"title":"App Installation Request Already Bound","type":"https://photon.codes/docs/problems/app-installation-request-already-bound"},"properties":{"code":{"const":"APP_INSTALLATION_REQUEST_ALREADY_BOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"App Installation Request Already Bound","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-request-already-bound","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationRequestNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_REQUEST_NOT_FOUND","status":404,"title":"App Installation Request Not Found","type":"https://photon.codes/docs/problems/app-installation-request-not-found"},"properties":{"code":{"const":"APP_INSTALLATION_REQUEST_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"App Installation Request Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-request-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationStateConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_STATE_CONFLICT","status":409,"title":"Installation State Conflict","type":"https://photon.codes/docs/problems/app-installation-state-conflict"},"properties":{"code":{"const":"APP_INSTALLATION_STATE_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation State Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-state-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AppInstallationVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"APP_INSTALLATION_VERSION_CONFLICT","status":409,"title":"Installation Version Conflict","type":"https://photon.codes/docs/problems/app-installation-version-conflict"},"properties":{"code":{"const":"APP_INSTALLATION_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Installation Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/app-installation-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ApproveAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ApproveAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"ApproveAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ApproveAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ApproveAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"ApproveAppInstallationRequest":{"additionalProperties":false,"properties":{"expectedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"requestId":{"type":"string"}},"required":["expectedAppVersion","requestId"],"type":"object"},"ApproveAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"ApproveAppInstallationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"AssignSmsLineCampaignBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignInvalidRequestProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"AssignSmsLineCampaignConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/SmsLineUnsupportedProblem"},{"$ref":"#/components/schemas/SmsCampaignNotReadyProblem"},{"$ref":"#/components/schemas/SmsCampaignVersionConflictProblem"},{"$ref":"#/components/schemas/SmsCampaignCapacityExceededProblem"},{"$ref":"#/components/schemas/SmsCampaignReconciliationRequiredProblem"},{"$ref":"#/components/schemas/SmsCampaignMutationInProgressProblem"}]},"AssignSmsLineCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"},{"$ref":"#/components/schemas/SmsCampaignOrganizationMismatchProblem"}]},"AssignSmsLineCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"AssignSmsLineCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"AssignSmsLineCampaignNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignNotFoundProblem"},{"$ref":"#/components/schemas/SmsLineNotFoundProblem"}]},"AssignSmsLineCampaignRequest":{"additionalProperties":false,"properties":{"campaignId":{"type":"string"},"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["campaignId","expectedVersion"],"type":"object"},"AssignSmsLineCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignContextUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"AssignVoiceLineProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileAssignmentForbiddenProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"}]},"AssignVoiceLineProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"AssignVoiceLineProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"AssignVoiceLineProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"AssignVoiceLineProfileNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/ResourceNotFoundProblem"},{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}]},"AssignVoiceLineProfileRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"profileId":{"type":"string"}},"required":["expectedVersion","profileId"],"type":"object"},"AssignmentExistsProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ASSIGNMENT_EXISTS","status":409,"title":"Assignment Exists","type":"https://photon.codes/docs/problems/assignment-exists"},"properties":{"code":{"const":"ASSIGNMENT_EXISTS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Assignment Exists","type":"string"},"type":{"const":"https://photon.codes/docs/problems/assignment-exists","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AssignmentNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ASSIGNMENT_NOT_FOUND","status":404,"title":"Assignment Not Found","type":"https://photon.codes/docs/problems/assignment-not-found"},"properties":{"code":{"const":"ASSIGNMENT_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Assignment Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/assignment-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"Attachment":{"additionalProperties":false,"properties":{"contentType":{"pattern":"^[A-Za-z0-9!#$&^_.+-]+\\/[A-Za-z0-9!#$&^_.+-]+$","type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"filename":{"minLength":1,"type":"string"},"id":{"pattern":"^pho_att_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"metadata":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"projectId":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"sizeBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"}},"required":["contentType","createdAt","id","projectId","sizeBytes","updatedAt"],"type":"object"},"AttachmentConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ATTACHMENT_CONFLICT","status":409,"title":"Attachment Conflict","type":"https://photon.codes/docs/problems/attachment-conflict"},"properties":{"code":{"const":"ATTACHMENT_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Attachment Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/attachment-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AttachmentContent":{"additionalProperties":false,"properties":{"attachmentId":{"$ref":"#/components/schemas/AttachmentId"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"attachment","type":"string"}},"required":["type","attachmentId"],"type":"object"},"AttachmentId":{"pattern":"^pho_att_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"AttachmentNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ATTACHMENT_NOT_FOUND","status":404,"title":"Attachment Not Found","type":"https://photon.codes/docs/problems/attachment-not-found"},"properties":{"code":{"const":"ATTACHMENT_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Attachment Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/attachment-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AttachmentNotReadyProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ATTACHMENT_NOT_READY","status":409,"title":"Attachment Not Ready","type":"https://photon.codes/docs/problems/attachment-not-ready"},"properties":{"code":{"const":"ATTACHMENT_NOT_READY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Attachment Not Ready","type":"string"},"type":{"const":"https://photon.codes/docs/problems/attachment-not-ready","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AttachmentNotReadyRetryAfter":{"enum":["5"],"type":"string"},"AttachmentPage":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/Attachment"},"type":"array"},"nextPageToken":{"description":"Continue with this token, even if items is empty. Omitted when no more pages remain.","maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},"required":["items"],"type":"object"},"AttachmentUploadNotReadyProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ATTACHMENT_UPLOAD_NOT_READY","status":409,"title":"Attachment Upload Not Ready","type":"https://photon.codes/docs/problems/attachment-upload-not-ready"},"properties":{"code":{"const":"ATTACHMENT_UPLOAD_NOT_READY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Attachment Upload Not Ready","type":"string"},"type":{"const":"https://photon.codes/docs/problems/attachment-upload-not-ready","type":"string"}},"required":["code","status","title","type"],"type":"object"},"AuthorizedApplication":{"additionalProperties":{},"properties":{"application":{"$ref":"#/components/schemas/AuthorizedOAuthApplication"},"authorizationId":{"description":"Identifier of the user's authorization grant for this application.","type":"string"},"grantedScopes":{"description":"OAuth scope slugs the user has granted to this application.","items":{"description":"Granted OAuth scope slug.","type":"string"},"type":"array"},"oauthResource":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"OAuth resource associated with the grant, or null when no resource is specified."}},"required":["application","authorizationId","grantedScopes","oauthResource"],"type":"object"},"AuthorizedOAuthApplication":{"additionalProperties":{},"description":"The OAuth application authorized by the authenticated user.","properties":{"applicationType":{"description":"OAuth application type reported by the authorization server.","type":"string"},"clientId":{"description":"OAuth client identifier used by the application in authorization requests.","type":"string"},"createdAt":{"description":"UTC timestamp when the application was created, in RFC 3339 format.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Application description, or null when no description is set."},"id":{"description":"Application identifier to pass as applicationId when revoking this application's grant.","type":"string"},"isFirstParty":{"description":"Whether the application is classified as first-party by the authorization server.","type":"boolean"},"name":{"description":"Display name of the authorized application.","type":"string"},"redirectUris":{"description":"Registered OAuth callback URLs for the application.","items":{"$ref":"#/components/schemas/AuthorizedOAuthApplicationRedirectUri"},"type":"array"},"scopes":{"description":"OAuth scope slugs configured for the application; grantedScopes records what the user authorized.","items":{"description":"OAuth scope slug.","type":"string"},"type":"array"},"updatedAt":{"description":"UTC timestamp when the application was last updated, in RFC 3339 format.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"usesPkce":{"description":"Whether the application uses Proof Key for Code Exchange (PKCE).","type":"boolean"}},"required":["applicationType","clientId","createdAt","description","id","isFirstParty","name","redirectUris","scopes","updatedAt","usesPkce"],"type":"object"},"AuthorizedOAuthApplicationRedirectUri":{"additionalProperties":{},"properties":{"default":{"description":"Whether this is the application's default redirect URI.","type":"boolean"},"uri":{"description":"Registered OAuth callback URL for the application.","type":"string"}},"required":["default","uri"],"type":"object"},"AvailableProjectSlug":{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"slug":{"type":"string"}},"required":["available","slug"],"type":"object"},"BatchUpdateVoiceLineProfileAssignmentsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileAssignmentForbiddenProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"}]},"BatchUpdateVoiceLineProfileAssignmentsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"BatchUpdateVoiceLineProfileAssignmentsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"BatchUpdateVoiceLineProfileAssignmentsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"BatchUpdateVoiceLineProfileAssignmentsNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/ResourceNotFoundProblem"},{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}]},"BatchUpdateVoiceLineProfileAssignmentsRequest":{"additionalProperties":false,"properties":{"updates":{"items":{"$ref":"#/components/schemas/VoiceLineProfileAssignmentUpdate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["updates"],"type":"object"},"BatchUpdateVoiceLineProfileAssignmentsResponse":{"additionalProperties":false,"properties":{"assignments":{"items":{"$ref":"#/components/schemas/VoiceLineProfileAssignment"},"type":"array"}},"required":["assignments"],"type":"object"},"BeginInvitationSsoBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"BeginInvitationSsoGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"BeginInvitationSsoPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"BeginInvitationSsoRequest":{"additionalProperties":false,"properties":{"returnTo":{"minLength":1,"type":"string"},"token":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"}},"required":["token","returnTo"],"type":"object"},"BeginOrganizationAuthenticationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"BeginOrganizationAuthenticationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"BeginOrganizationAuthenticationPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"BeginOrganizationClosureAuthenticationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"BeginOrganizationClosureAuthenticationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"BeginOrganizationClosureAuthenticationPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"BeginOrganizationSsoAdmissionBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"BeginOrganizationSsoAdmissionGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"BeginOrganizationSsoAdmissionPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"BeginTotpEnrollmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"BeginTotpEnrollmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"BeginTotpEnrollmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"BeginTotpEnrollmentRequest":{"additionalProperties":false,"description":"Empty object. Enrollment uses the authenticated Account and accepts no additional fields.","properties":{},"type":"object"},"BeginTotpEnrollmentResponse":{"additionalProperties":false,"properties":{"enrollmentToken":{"description":"Opaque, short-lived MFA enrollment continuation token.","maxLength":4096,"type":"string"},"expiresAt":{"description":"UTC expiry time of the enrollment token, in RFC 3339 format. Complete verification before this time.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"factorId":{"description":"Identifier of a TOTP authentication factor, prefixed with auth_factor_.","maxLength":128,"pattern":"^auth_factor_[A-Za-z0-9]+$","type":"string"},"secret":{"description":"One-time TOTP secret. Never log, cache, or persist it.","maxLength":256,"minLength":1,"type":"string"},"uri":{"description":"One-time authenticator setup URI containing the TOTP secret.","maxLength":4096,"minLength":1,"pattern":"^otpauth:\\/\\/.*","type":"string"}},"required":["enrollmentToken","expiresAt","factorId","secret","uri"],"type":"object"},"BillingAgreement":{"description":"How the organization pays: self_serve by card, each purchase paid when made; enterprise by invoice on its contract's terms, its purchases added to its next monthly invoice.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"self_serve","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"enterprise","type":"string"},"paymentTermDays":{"description":"Days from an invoice's issue to its due date: Net 30 is 30, and 0 is due on receipt.","maximum":9007199254740991,"minimum":0,"type":"integer"},"purchaseOrderNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Printed on every invoice; null when the contract sets none."}},"required":["kind","paymentTermDays","purchaseOrderNumber"],"type":"object"}]},"BillingEntitlementsPendingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BILLING_ENTITLEMENTS_PENDING","status":503,"title":"Billing Entitlements Pending","type":"https://photon.codes/docs/problems/billing-entitlements-pending"},"properties":{"code":{"const":"BILLING_ENTITLEMENTS_PENDING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Billing Entitlements Pending","type":"string"},"type":{"const":"https://photon.codes/docs/problems/billing-entitlements-pending","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BillingFixedChargeEffect":{"additionalProperties":false,"properties":{"quote":{"$ref":"#/components/schemas/FixedChargeQuote"},"type":{"const":"fixed_charge","type":"string"}},"required":["quote","type"],"type":"object"},"BillingHeldFixedCharge":{"additionalProperties":false,"properties":{"fixedChargeCode":{"type":"string"},"quantity":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["fixedChargeCode","quantity"],"type":"object"},"BillingNextCharge":{"additionalProperties":false,"properties":{"amountCents":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"at":{"description":"ISO 8601.","type":"string"},"currency":{"type":"string"}},"required":["amountCents","at","currency"],"type":"object"},"BillingNotProvisionedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BILLING_NOT_PROVISIONED","status":503,"title":"Billing Not Provisioned","type":"https://photon.codes/docs/problems/billing-not-provisioned"},"properties":{"code":{"const":"BILLING_NOT_PROVISIONED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Billing Not Provisioned","type":"string"},"type":{"const":"https://photon.codes/docs/problems/billing-not-provisioned","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BillingOperation":{"description":"Authoritative provisioning state. Poll the operation route while pending.","oneOf":[{"$ref":"#/components/schemas/PendingBillingOperation"},{"$ref":"#/components/schemas/SucceededBillingOperation"},{"$ref":"#/components/schemas/FailedBillingOperation"}]},"BillingOperationFailure":{"additionalProperties":false,"properties":{"code":{"$ref":"#/components/schemas/BillingOperationFailureCode"},"detail":{"anyOf":[{"$ref":"#/components/schemas/BillingOperationFailureDetail"},{"type":"null"}]},"retryable":{"type":"boolean"},"unsoldFixedCharges":{"items":{"$ref":"#/components/schemas/BillingHeldFixedCharge"},"type":"array"}},"required":["code","detail","retryable","unsoldFixedCharges"],"type":"object"},"BillingOperationFailureCode":{"description":"Stable provider-neutral failure category. billing_restricted: the payer is behind on payment and the change would gain or keep a paid plan; retry once the payer is back in good standing.","enum":["payment_method_required","payment_failed","not_provisioned","invalid_target","promotion_code_rejected","billing_restricted","internal"],"type":"string"},"BillingOperationFailureDetail":{"enum":["cancellation_scheduled","feature_not_found","feature_not_sold_by_plan","insufficient_funds","payment_declined","payment_method_expired","payment_method_invalid","payment_timeout","plan_activation_timeout","plan_not_found","promotion_code_already_applied","promotion_code_already_redeemed","promotion_code_change_not_eligible","promotion_code_exhausted","promotion_code_expired","promotion_code_inactive","promotion_code_limit_reached","promotion_code_new_customer_only","promotion_code_not_for_organization","promotion_code_not_found","promotion_code_plan_not_eligible","promotion_code_purchase_not_eligible","quantity_out_of_range","reconciliation_required","release_required","target_rejected"],"type":"string","x-enumDescriptions":{"cancellation_scheduled":"The subscription is already set to cancel.","feature_not_found":"No fixed charge has this code.","feature_not_sold_by_plan":"The plan does not sell this fixed charge.","insufficient_funds":"The issuer reported insufficient funds or an exceeded limit.","payment_declined":"The payment was declined and Photon cannot say more, as for every risk or fraud block.","payment_method_expired":"The payment method on file has expired.","payment_method_invalid":"The issuer rejected the payment method's details, or it cannot be used for this charge.","payment_timeout":"The payment did not complete in time.","plan_activation_timeout":"The paid plan did not activate in time.","plan_not_found":"No plan has this code.","promotion_code_already_applied":"The subscription already has this promotion code's coupon.","promotion_code_already_redeemed":"The organization has already redeemed this coupon, which allows one redemption.","promotion_code_change_not_eligible":"The change redeems no promotion code: only a new subscription, an upgrade or a fixed-charge purchase does.","promotion_code_exhausted":"Every redemption of the promotion code is taken.","promotion_code_expired":"The promotion code has expired.","promotion_code_inactive":"The promotion code, or its coupon, was deactivated.","promotion_code_limit_reached":"The subscription holds as many coupons as it can.","promotion_code_new_customer_only":"The promotion code is only for a new customer: an organization none of whose projects has held a paid plan, even one a coupon made free.","promotion_code_not_for_organization":"No longer sent: a code reserved to another organization is promotion_code_not_found.","promotion_code_not_found":"No promotion code matches, or the code is reserved to another organization.","promotion_code_plan_not_eligible":"The promotion code's coupon does not discount the target plan.","promotion_code_purchase_not_eligible":"A fixed-charge purchase takes only a fixed amount off the fixed charge it buys; this promotion code's coupon is a percentage, or discounts other fees.","quantity_out_of_range":"The quantity is outside what the plan allows.","reconciliation_required":"The outcome is unknown until the operation is repaired.","release_required":"Fixed charges the target plan does not sell must be released first; see unsoldFixedCharges.","target_rejected":"The billing provider refused the change."}},"BillingOperationKind":{"enum":["change_plan","adjust_fixed_charge_quantity"],"type":"string"},"BillingOperationResult":{"additionalProperties":false,"properties":{"effectiveAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"const":"version","type":"string"},"version":{"type":"string"}},"required":["effectiveAt","type","version"],"type":"object"},"BillingPaymentAction":{"additionalProperties":false,"description":"A payment the customer's bank asked them to authenticate (3DS). The invoice's pay route completes it.","properties":{"amountCents":{"description":"Amount of the payment, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currency":{"description":"ISO currency code.","type":"string"},"expiresAt":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"When the operation stops waiting: past it, the payment is cancelled and the operation fails. Null without an operation."},"invoiceId":{"description":"The invoice whose payment it is. Pay it to complete the payment.","type":"string"},"invoiceNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The invoice's number. Null until the invoice is issued: a plan change is invoiced once it is paid."},"operation":{"anyOf":[{"$ref":"#/components/schemas/BillingPaymentActionOperation"},{"type":"null"}],"description":"The pending operation it completes. Null for an invoice no operation waits on, such as a renewal."},"subjects":{"description":"What it pays for: the operation's project or organization, or those the invoice bills.","items":{"$ref":"#/components/schemas/InvoiceSubject"},"type":"array"}},"required":["amountCents","currency","expiresAt","invoiceId","invoiceNumber","operation","subjects"],"type":"object"},"BillingPaymentActionOperation":{"additionalProperties":false,"properties":{"kind":{"$ref":"#/components/schemas/BillingPaymentActionOperationKind"},"operationId":{"type":"string"}},"required":["kind","operationId"],"type":"object"},"BillingPaymentActionOperationKind":{"enum":["change_plan","adjust_fixed_charge_quantity","create_one_off_invoice"],"type":"string"},"BillingPlan":{"additionalProperties":false,"properties":{"baseAmountCents":{"description":"Recurring base price in whole cents.","maximum":9007199254740991,"minimum":0,"type":"integer"},"categoryDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"Display name for the subscription category; absent or null when unconfigured."},"currency":{"description":"ISO currency code.","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"entitlements":{"items":{"$ref":"#/components/schemas/BillingPlanEntitlement"},"type":"array"},"fixedCharges":{"items":{"$ref":"#/components/schemas/FixedCharge"},"type":"array"},"interval":{"$ref":"#/components/schemas/BillingPlanInterval"},"isDefault":{"description":"The category's default plan: the one a project holds when it pays for none, and moves to at the period end when it leaves a paid plan. At most one per category.","type":"boolean"},"minimumCommitment":{"anyOf":[{"$ref":"#/components/schemas/BillingPlanMinimumCommitment"},{"type":"null"}]},"name":{"type":"string"},"payInAdvance":{"type":"boolean"},"planCode":{"maxLength":64,"minLength":1,"type":"string"},"tier":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"Rank within the category: moving to a higher tier is an upgrade and applies now, to a lower one a downgrade scheduled for the period end. Null when the plan has none."},"tierDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"The plan's tier as customers see it, e.g. Pro for Messaging Pro, where the category is already clear. Null when unconfigured."},"usageCharges":{"items":{"$ref":"#/components/schemas/UsageCharge"},"type":"array"},"usageThresholds":{"description":"Progressive-billing thresholds, ordered by amount.","items":{"$ref":"#/components/schemas/BillingPlanUsageThreshold"},"type":"array"}},"required":["baseAmountCents","currency","description","entitlements","fixedCharges","interval","isDefault","minimumCommitment","name","payInAdvance","planCode","tier","tierDisplayName","usageCharges","usageThresholds"],"type":"object"},"BillingPlanChangeEffect":{"additionalProperties":false,"properties":{"effectiveAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"When a period_end change applies. Null otherwise."},"minimumCommitment":{"anyOf":[{"$ref":"#/components/schemas/BillingPreviewMinimumCommitment"},{"type":"null"}],"description":"The target plan's minimum commitment: when a period's charges fall short of it, the difference is billed at the period end. Set for an upgrade to a plan with one, null otherwise."},"timing":{"$ref":"#/components/schemas/BillingPlanChangeTiming"},"type":{"const":"plan_change","type":"string"},"unsoldFixedCharges":{"description":"Held fixed charges the target plan does not sell; the preview prices the change without them. With period_end they stay until it applies and are released with it. Otherwise the change is refused (release_required) until they are released.","items":{"$ref":"#/components/schemas/BillingHeldFixedCharge"},"type":"array"},"unusedTimeCredit":{"anyOf":[{"$ref":"#/components/schemas/BillingPreviewCredit"},{"type":"null"}],"description":"The replaced plan's unused time, which an upgrade credits to the payer. Set for an upgrade from a plan paid in advance, null otherwise."}},"required":["effectiveAt","minimumCommitment","timing","type","unsoldFixedCharges","unusedTimeCredit"],"type":"object"},"BillingPlanChangeTiming":{"description":"immediate applies now and charges dueNow with it. on_payment applies once dueNow is paid; the current plan stays until then. period_end is a downgrade: it applies at the period end and charges nothing now.","enum":["immediate","on_payment","period_end"],"type":"string"},"BillingPlanEntitlement":{"additionalProperties":false,"properties":{"featureKey":{"type":"string"},"value":{"type":"string"}},"required":["featureKey","value"],"type":"object"},"BillingPlanInterval":{"enum":["weekly","monthly","quarterly","semiannual","yearly"],"type":"string"},"BillingPlanMinimumCommitment":{"additionalProperties":false,"description":"When the plan's fees for an interval come to less than amountCents, the difference is invoiced at the end of the period.","properties":{"amountCents":{"description":"Least the plan bills each interval, in whole cents.","maximum":9007199254740991,"minimum":0,"type":"integer"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["amountCents","displayName"],"type":"object"},"BillingPlanUsageThreshold":{"additionalProperties":false,"properties":{"amountCents":{"description":"Usage amount, in whole cents, at which usage is invoiced before the period ends.","maximum":9007199254740991,"minimum":0,"type":"integer"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"recurring":{"description":"Whether usage is invoiced again every further amountCents.","type":"boolean"}},"required":["amountCents","displayName","recurring"],"type":"object"},"BillingPreviewCredit":{"additionalProperties":false,"properties":{"amountCents":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"appliedCents":{"description":"What dueNow uses of amountCents, within its creditsCents. The credit the payer already holds applies first; what dueNow leaves of this joins the balance.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"code":{"description":"The replaced plan's code.","type":"string"},"name":{"description":"The replaced plan's name.","type":"string"},"periodEnd":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"The end of the period the plan was paid for."},"periodStart":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"When the change is made."}},"required":["amountCents","appliedCents","code","name","periodEnd","periodStart"],"type":"object"},"BillingPreviewDeferred":{"additionalProperties":false,"description":"Billed later rather than with dueNow: one line per plan change addition, billed when it is added and priced as if added now; or, for an organization that pays by invoice, what a fixed-charge change adds to its next invoice. After coupons, before taxes; the balance left after dueNow applies to it first. nextCharge already includes it. No lines when nothing is billed later.","properties":{"currency":{"type":"string"},"lines":{"items":{"$ref":"#/components/schemas/BillingPreviewLine"},"type":"array"},"totalCents":{"description":"Sum of the lines less their discounts, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["currency","lines","totalCents"],"type":"object"},"BillingPreviewFixedChargeChange":{"additionalProperties":false,"properties":{"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"fixedCharge":{"$ref":"#/components/schemas/FixedChargeChange"},"promotionCode":{"description":"A promotion code the customer entered, previewed as the purchase redeems it, on an increase only: dueNow and upcomingInvoices are discounted by it. Needs billing:manage. A refused code fails the preview with PROMOTION_CODE_REJECTED, its reason as a refused purchase's failure detail.","maxLength":255,"minLength":1,"type":"string"}},"required":["category","fixedCharge"],"type":"object"},"BillingPreviewInvoice":{"additionalProperties":false,"description":"An invoice priced by the billing engine as it would bill it: its lines, then what coupons, taxes and credits change, and what the payer is charged. No lines when it bills nothing.","properties":{"creditsCents":{"description":"Credit notes and prepaid credit applied, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currency":{"type":"string"},"discountCents":{"description":"Coupons applied, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"feesCents":{"description":"Sum of the lines, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"lines":{"items":{"$ref":"#/components/schemas/BillingPreviewLine"},"type":"array"},"taxesCents":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"totalCents":{"description":"What the payer is charged, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["creditsCents","currency","discountCents","feesCents","lines","taxesCents","totalCents"],"type":"object"},"BillingPreviewLine":{"additionalProperties":false,"properties":{"amountCents":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"code":{"description":"The fixed-charge code for a fixed charge, the metric code for usage, and the plan code otherwise.","type":"string"},"discountCents":{"description":"What coupons take off amountCents, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"kind":{"$ref":"#/components/schemas/BillingPreviewLineKind"},"name":{"type":"string"},"periodEnd":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}]},"periodStart":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}]},"units":{"description":"Units billed, as a decimal. A purchase bills the units it adds; a plan change, the units it carries over, less what the replaced plan paid for them.","type":"string"}},"required":["amountCents","code","discountCents","kind","name","periodEnd","periodStart","units"],"type":"object"},"BillingPreviewLineKind":{"description":"subscription is a plan's base fee. usage is the replaced plan's usage to date, billed as it stands when the change is made, so it is an estimate. commitment is the replaced plan's minimum commitment less what its fees cover.","enum":["fixed_charge","subscription","usage","commitment"],"type":"string"},"BillingPreviewMinimumCommitment":{"additionalProperties":false,"properties":{"amountCents":{"description":"For each full period.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currentPeriodAmountCents":{"description":"For the rest of the current period, prorated as its true-up bills it.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currentPeriodEnd":{"description":"ISO 8601.","type":"string"},"currentPeriodStart":{"description":"ISO 8601.","type":"string"}},"required":["amountCents","currentPeriodAmountCents","currentPeriodEnd","currentPeriodStart"],"type":"object"},"BillingPreviewPlanChange":{"additionalProperties":false,"properties":{"additions":{"description":"Fixed charges added once an upgrade applies, each billed when it is added rather than with the upgrade. Priced as if added now on the target plan and returned in dueLater, outside dueNow. Each must be sold by the target plan and named once.","items":{"$ref":"#/components/schemas/FixedChargeAddition"},"maxItems":10,"type":"array"},"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"planCode":{"description":"Plan to change to, as a purchase of it changes it.","maxLength":64,"minLength":1,"type":"string"},"promotionCode":{"description":"A promotion code the customer entered, previewed as the purchase redeems it: dueNow and upcomingInvoices are discounted by it. Needs billing:manage. A refused code fails the preview with PROMOTION_CODE_REJECTED, its reason as a refused purchase's failure detail.","maxLength":255,"minLength":1,"type":"string"}},"required":["category","planCode"],"type":"object"},"BillingSuspendedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BILLING_SUSPENDED","status":402,"title":"Billing Suspended","type":"https://photon.codes/docs/problems/billing-suspended"},"properties":{"code":{"const":"BILLING_SUSPENDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":402,"type":"number"},"title":{"const":"Billing Suspended","type":"string"},"type":{"const":"https://photon.codes/docs/problems/billing-suspended","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BillingUpcomingInvoice":{"additionalProperties":false,"description":"An invoice a following period issues, priced as now: the plan's fee and its fixed charges at the units the change and any additions leave, after coupons, with taxes, before credits. Usage and a minimum commitment's true-up are left out.","properties":{"at":{"description":"When the billing engine bills it: the start of that day in timeZone.","type":"string"},"invoice":{"$ref":"#/components/schemas/BillingPreviewInvoice"}},"required":["at","invoice"],"type":"object"},"BrandHasCampaignsProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BRAND_HAS_CAMPAIGNS","status":409,"title":"Brand Has Campaigns","type":"https://photon.codes/docs/problems/brand-has-campaigns"},"properties":{"code":{"const":"BRAND_HAS_CAMPAIGNS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Brand Has Campaigns","type":"string"},"type":{"const":"https://photon.codes/docs/problems/brand-has-campaigns","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BrandNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BRAND_NOT_FOUND","status":404,"title":"Brand Not Found","type":"https://photon.codes/docs/problems/brand-not-found"},"properties":{"code":{"const":"BRAND_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Brand Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/brand-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BrandRegistrationRateLimitedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BRAND_REGISTRATION_RATE_LIMITED","status":429,"title":"Brand Registration Rate Limited","type":"https://photon.codes/docs/problems/brand-registration-rate-limited"},"properties":{"code":{"const":"BRAND_REGISTRATION_RATE_LIMITED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"Brand Registration Rate Limited","type":"string"},"type":{"const":"https://photon.codes/docs/problems/brand-registration-rate-limited","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BrandVerificationRateLimitedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"BRAND_VERIFICATION_RATE_LIMITED","status":429,"title":"Brand Verification Rate Limited","type":"https://photon.codes/docs/problems/brand-verification-rate-limited"},"properties":{"code":{"const":"BRAND_VERIFICATION_RATE_LIMITED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"Brand Verification Rate Limited","type":"string"},"type":{"const":"https://photon.codes/docs/problems/brand-verification-rate-limited","type":"string"}},"required":["code","status","title","type"],"type":"object"},"BusyCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"busy","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"Call":{"oneOf":[{"$ref":"#/components/schemas/StartedCall"},{"$ref":"#/components/schemas/RingingCall"},{"$ref":"#/components/schemas/AnsweredCall"},{"$ref":"#/components/schemas/ConnectedCall"},{"$ref":"#/components/schemas/CompletedCall"},{"$ref":"#/components/schemas/BusyCall"},{"$ref":"#/components/schemas/NoAnswerCall"},{"$ref":"#/components/schemas/RejectedCall"},{"$ref":"#/components/schemas/CanceledCall"},{"$ref":"#/components/schemas/FailedCall"}]},"CallAnsweredEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallAnsweredEvent"}]},"CallConnectedEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallConnectedEvent"}]},"CallDirection":{"description":"Inbound when the peer called a managed line (the managed line is the callee); outbound when a managed line called the peer (the managed line is the caller).","enum":["inbound","outbound"],"type":"string"},"CallDtmfDigit":{"enum":["0","1","2","3","4","5","6","7","8","9","*","#"],"type":"string"},"CallDtmfInput":{"additionalProperties":false,"properties":{"actorId":{"$ref":"#/components/schemas/UserId"},"digit":{"$ref":"#/components/schemas/CallDtmfDigit"},"timestamp":{"description":"Authoritative key-press time; equals the outer timestamp of that press's call.dtmf.received Event.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["digit","timestamp","actorId"],"type":"object"},"CallDtmfReceivedEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallDtmfReceivedEvent"}]},"CallEndedEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallEndedEvent"}]},"CallEndpoint":{"additionalProperties":false,"properties":{"type":{"const":"sip","type":"string"}},"required":["type"],"type":"object"},"CallId":{"pattern":"^pho_call_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"CallRingingEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallRingingEvent"}]},"CallStartedEvent":{"anyOf":[{"$ref":"#/components/schemas/VoiceCallStartedEvent"}]},"CallVoiceProfile":{"additionalProperties":false,"properties":{"endpoint":{"$ref":"#/components/schemas/CallEndpoint"},"id":{"$ref":"#/components/schemas/VoiceProfileId"}},"required":["id","endpoint"],"type":"object"},"CampaignFeesUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CAMPAIGN_FEES_UNAVAILABLE","status":409,"title":"Campaign Fees Unavailable","type":"https://photon.codes/docs/problems/campaign-fees-unavailable"},"properties":{"code":{"const":"CAMPAIGN_FEES_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign Fees Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/campaign-fees-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CampaignNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CAMPAIGN_NOT_FOUND","status":404,"title":"Campaign Not Found","type":"https://photon.codes/docs/problems/campaign-not-found"},"properties":{"code":{"const":"CAMPAIGN_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Campaign Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/campaign-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CampaignRegistrationPaymentFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"CAMPAIGN_REGISTRATION_PAYMENT_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"failureDetail":{"description":"Why billing could not collect the registration fee.","type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":402,"type":"number"},"title":{"const":"Campaign Registration Payment Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/campaign-registration-payment-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CampaignRegistrationUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CAMPAIGN_REGISTRATION_UNAVAILABLE","status":409,"title":"Campaign Registration Unavailable","type":"https://photon.codes/docs/problems/campaign-registration-unavailable"},"properties":{"code":{"const":"CAMPAIGN_REGISTRATION_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign Registration Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/campaign-registration-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CampaignValidationFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CAMPAIGN_VALIDATION_FAILED","status":422,"title":"Campaign Validation Failed","type":"https://photon.codes/docs/problems/campaign-validation-failed"},"properties":{"code":{"const":"CAMPAIGN_VALIDATION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Campaign Validation Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/campaign-validation-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CancelOperationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CancelOperationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CancelOperationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CancelSsoSubscriptionBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CancelSsoSubscriptionConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationSsoEnabledProblem"}]},"CancelSsoSubscriptionForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"CancelSsoSubscriptionGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CancelSsoSubscriptionResponse":{"additionalProperties":false,"properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"type":"object"},"CancelSsoSubscriptionUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CanceledCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"canceled","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedBeforeAnswerCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"ChangePlanBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ChangePlanConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/FailedPreconditionProblem"},{"$ref":"#/components/schemas/IdempotencyRequestInProgressProblem"}]},"ChangePlanForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ChangePlanGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ChangePlanInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ChangePlanRequest":{"additionalProperties":false,"properties":{"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"planCode":{"description":"Plan to subscribe to, e.g. analytics_pro.","maxLength":64,"minLength":1,"type":"string"},"promotionCode":{"description":"A promotion code the customer entered, matched ignoring case. It is redeemed with the change, which only an upgrade or a first plan can carry; a refused code fails the operation with code promotion_code_rejected and changes nothing. Coupons the project already has stay and stack.","maxLength":255,"minLength":1,"type":"string"}},"required":["category","planCode"],"type":"object"},"ChangePlanServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ChangePlanUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ChargeRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CHARGE_REFUSED","remediation":{"action":"Check the payment method in Billing, then request the purchase again."},"status":402,"title":"Charge Refused","type":"https://photon.codes/docs/problems/charge-refused"},"properties":{"code":{"const":"CHARGE_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":402,"type":"number"},"title":{"const":"Charge Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/charge-refused","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"CheckEmailDmarcForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CheckEmailDmarcGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CheckEmailDmarcInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CheckEmailDmarcResponse":{"additionalProperties":false,"properties":{"checking":{"type":"boolean"},"freshness":{"enum":["pending","fresh","stale"],"type":"string"},"instructions":{"additionalProperties":false,"properties":{"explanation":{"type":"string"},"name":{"type":"string"},"type":{"const":"TXT","type":"string"},"value":{"type":"string"}},"required":["explanation","name","type","value"],"type":"object"},"resourceId":{"type":"string"},"result":{"anyOf":[{"additionalProperties":false,"properties":{"checkedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"domain":{"type":"string"},"effectivePolicy":{"anyOf":[{"enum":["none","quarantine","reject"],"type":"string"},{"type":"null"}]},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"inherited":{"type":"boolean"},"nonExistentPolicy":{"anyOf":[{"enum":["none","quarantine","reject"],"type":"string"},{"type":"null"}]},"observations":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"parsed":{"additionalProperties":false,"properties":{"adkim":{"enum":["r","s"],"type":"string"},"aspf":{"enum":["r","s"],"type":"string"},"np":{"enum":["none","quarantine","reject"],"type":"string"},"p":{"enum":["none","quarantine","reject"],"type":"string"},"psd":{"enum":["u","y","n"],"type":"string"},"sp":{"enum":["none","quarantine","reject"],"type":"string"}},"required":["adkim","aspf","p","psd"],"type":"object"},"records":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"status":{"enum":["valid","missing","multiple","malformed","unavailable"],"type":"string"}},"required":["name","records","status"],"type":"object"},"maxItems":8,"type":"array"},"sourceDomain":{"type":["string","null"]},"standard":{"const":"RFC9989","type":"string"},"status":{"enum":["valid","missing","multiple","malformed","unavailable"],"type":"string"}},"required":["checkedAt","domain","effectivePolicy","expiresAt","inherited","nonExistentPolicy","observations","sourceDomain","standard","status"],"type":"object"},{"type":"null"}]}},"required":["checking","freshness","instructions","resourceId","result"],"type":"object"},"CheckOrganizationDeletionConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"CheckOrganizationDeletionForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CheckOrganizationDeletionGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CheckOrganizationDeletionResponse":{"additionalProperties":false,"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"canDelete":{"type":"boolean"},"organizationId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["blockers","canDelete","organizationId","version"],"type":"object"},"CheckProjectSlugAvailabilityForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CheckProjectSlugAvailabilityGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CheckProjectSlugAvailabilityResponse":{"oneOf":[{"$ref":"#/components/schemas/AvailableProjectSlug"},{"$ref":"#/components/schemas/UnavailableProjectSlug"}]},"ClickHouseSqlQueryRequest":{"additionalProperties":false,"properties":{"parameters":{"additionalProperties":{"maxLength":16384,"type":"string"},"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$","type":"string"},"type":"object"},"sql":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["sql"],"type":"object"},"CloseOrganizationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CloseOrganizationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/ClosureBlockedProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"CloseOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CloseOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CloseOrganizationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"CloseOrganizationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ClosureBlockedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"CLOSURE_BLOCKED","status":409,"title":"Organization Closure Blocked","type":"https://photon.codes/docs/problems/organization-closure-blocked"},"properties":{"code":{"const":"CLOSURE_BLOCKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Closure Blocked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-closure-blocked","type":"string"}},"required":["code","status","title","type"],"type":"object"},"CommitAccountProfilePictureBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"CommitAccountProfilePictureForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CommitAccountProfilePictureGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CommitAccountProfilePictureGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"CommitAccountProfilePictureInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CommitAccountProfilePictureRequest":{"additionalProperties":false,"properties":{"uploadId":{"pattern":"^pho_upl_[0-9a-z]{26}$","type":"string"}},"required":["uploadId"],"type":"object"},"CommitAccountProfilePictureUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"CommitAgentProfileAvatarBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CommitAgentProfileAvatarForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CommitAgentProfileAvatarGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CommitAgentProfileAvatarRequest":{"additionalProperties":false,"properties":{"uploadId":{"type":"string"}},"required":["uploadId"],"type":"object"},"CommitAgentProfileAvatarUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CommitImessageContactProfilePictureBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CommitImessageContactProfilePictureConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/ImessageContactProfileVersionConflictProblem"},{"$ref":"#/components/schemas/ImessageContactProfileChangeInProgressProblem"},{"$ref":"#/components/schemas/ImessageContactProfileNotCustomProblem"}]},"CommitImessageContactProfilePictureForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CommitImessageContactProfilePictureGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CommitImessageContactProfilePictureInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CommitImessageContactProfilePictureRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"uploadId":{"type":"string"}},"required":["expectedVersion","uploadId"],"type":"object"},"CommitImessageContactProfilePictureUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ImessageContactProfilePictureInvalidProblem"}]},"CommitOrganizationAvatarBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CommitOrganizationAvatarConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"CommitOrganizationAvatarForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CommitOrganizationAvatarGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CommitOrganizationAvatarRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"uploadId":{"type":"string"}},"required":["uploadId","expectedVersion"],"type":"object"},"CommitOrganizationAvatarResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"CommitOrganizationAvatarUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CompletedCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"completed","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedAfterConnectCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"ConfigureVoiceProfileOutboundBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ConfigureVoiceProfileOutboundConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"},{"$ref":"#/components/schemas/VoiceOutboundConfiguredProblem"}]},"ConfigureVoiceProfileOutboundForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ConfigureVoiceProfileOutboundGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ConfigureVoiceProfileOutboundInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ConfigureVoiceProfileOutboundRequest":{"additionalProperties":false,"properties":{"authentication":{"$ref":"#/components/schemas/SipOutboundAuthenticationPolicy"},"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["authentication","expectedVersion"],"type":"object"},"ConfigureVoiceProfileOutboundResponse":{"additionalProperties":false,"properties":{"outbound":{"$ref":"#/components/schemas/SipOutboundConfiguration"},"password":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["outbound","password","profileVersion"],"type":"object"},"ConfigureVoiceProfileOutboundUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ConfirmedRecipient":{"additionalProperties":false,"properties":{"handle":{"description":"Recipient handle from the original send: an email address for email, or the corresponding address on another platform.","minLength":1,"type":"string"},"userId":{"$ref":"#/components/schemas/UserId","description":"Photon User ID of the confirmed recipient."}},"required":["userId","handle"],"type":"object"},"ConnectEmailDomainBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ConnectEmailDomainConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/EmailDomainAlreadyConnectedProblem"},{"$ref":"#/components/schemas/EmailDomainCapExceededProblem"}]},"ConnectEmailDomainForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ConnectEmailDomainGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ConnectEmailDomainInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ConnectEmailDomainRequest":{"additionalProperties":false,"properties":{"domain":{"type":"string"}},"required":["domain"],"type":"object"},"ConnectEmailDomainServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ConnectEmailDomainUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ConnectTelegramBotBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ConnectTelegramBotConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/TelegramProjectDeletedProblem"},{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/TelegramProvisionInProgressProblem"}]},"ConnectTelegramBotForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ConnectTelegramBotGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ConnectTelegramBotInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ConnectTelegramBotRequest":{"additionalProperties":false,"properties":{},"type":"object"},"ConnectTelegramBotUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ConnectWhatsappBusinessBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ConnectWhatsappBusinessForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ConnectWhatsappBusinessGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ConnectWhatsappBusinessRequest":{"additionalProperties":false,"properties":{"code":{"maxLength":1024,"minLength":1,"type":"string"},"phoneNumberId":{"maxLength":64,"minLength":1,"type":"string"},"wabaId":{"maxLength":64,"minLength":1,"type":"string"}},"required":["code","phoneNumberId","wabaId"],"type":"object"},"ConnectWhatsappBusinessServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamUnavailableProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"}]},"ConnectWhatsappBusinessUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ConnectedCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"connected","type":"string"},"timestamps":{"$ref":"#/components/schemas/ConnectedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"ConnectedCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"description":"When the destination accepted the Call.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"connectedAt":{"description":"When the initial required parties established usable media.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"endedAt":{"not":{}},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","answeredAt","connectedAt"],"type":"object"},"Content":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"},{"$ref":"#/components/schemas/GroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"ContentIssue":{"additionalProperties":false,"properties":{"code":{"$ref":"#/components/schemas/ContentIssueCode"},"location":{"const":"json","type":"string"},"message":{"type":"string"},"path":{"type":"string"}},"required":["code","location","message","path"],"type":"object"},"ContentIssueCode":{"enum":["metadata_server_owned","markdown_html_forbidden","voice_requires_audio","space_background_requires_image","attachment_mime_type_mismatch","attachment_size_mismatch"],"type":"string"},"ContentMetadata":{"additionalProperties":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"properties":{"email":{"$ref":"#/components/schemas/EmailMetadata"},"voice":{"$ref":"#/components/schemas/VoiceMetadata"}},"type":"object"},"CountFilteredVerificationCodesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountFilteredVerificationCodesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CountFilteredVerificationCodesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CountMessagesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountMessagesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CountMessagesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CountMessagesResponse":{"anyOf":[{"$ref":"#/components/schemas/MessageCount"},{"$ref":"#/components/schemas/DailyMessageCount"}]},"CountProjectsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountProjectsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CountResourceFilteredVerificationCodesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountResourceFilteredVerificationCodesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CountResourceFilteredVerificationCodesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CountSpacesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountSpacesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CountSpacesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CountUsersForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CountUsersGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CountUsersInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CouponAppliesTo":{"additionalProperties":false,"properties":{"feeKinds":{"items":{"$ref":"#/components/schemas/CouponFeeKind"},"type":"array"},"fixedChargeCodes":{"description":"This plan's fixed charges it targets, by fixedChargeCode.","items":{"type":"string"},"type":"array"}},"required":["feeKinds","fixedChargeCodes"],"type":"object"},"CouponDuration":{"enum":["once","repeating","forever"],"type":"string","x-enumDescriptions":{"forever":"Every period, with no end.","once":"The first invoice it takes something from.","repeating":"Every period until endsAt."}},"CouponFeeKind":{"enum":["base_fee","fixed_charges","minimum_commitment","usage"],"type":"string","x-enumDescriptions":{"base_fee":"The plan's base fee.","fixed_charges":"Every fixed charge.","minimum_commitment":"The minimum commitment's true-up.","usage":"Usage charges."}},"CreateAccountProfilePictureUploadBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"CreateAccountProfilePictureUploadForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateAccountProfilePictureUploadGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateAccountProfilePictureUploadGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"CreateAccountProfilePictureUploadInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateAccountServiceKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"CreateAccountServiceKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateAccountServiceKeyGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateAccountServiceKeyGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"CreateAccountServiceKeyInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateAccountServiceKeyRequest":{"additionalProperties":false,"properties":{"expiresAt":{"example":"2030-01-01T00:00:00Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"CreateAccountServiceKeyResponse":{"additionalProperties":false,"properties":{"secret":{"type":"string"},"serviceKey":{"$ref":"#/components/schemas/AccountServiceKey"}},"required":["secret","serviceKey"],"type":"object"},"CreateAccountServiceKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"CreateAgentProfileAvatarUploadForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateAgentProfileAvatarUploadGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateAgentProfileAvatarUploadRequest":{"additionalProperties":false,"properties":{"contentType":{"$ref":"#/components/schemas/AgentProfileAvatarContentType"}},"required":["contentType"],"type":"object"},"CreateAppInstallationConfigBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"CreateAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateAppInstallationConfigRequest":{"additionalProperties":false,"properties":{"description":{"maxLength":500,"type":"string"},"eventSubscription":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{"items":{"type":"string"},"maxItems":256,"minItems":1,"type":"array"},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"websiteUrl":{"maxLength":2048,"type":"string"}},"required":["name","publicKeys","redirectUris","requestedPermissions"],"type":"object"},"CreateAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"CreateAppInstallationConfigUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateAppInstallationRequestConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationAssertionReplayedProblem"},{"$ref":"#/components/schemas/AppInstallationConfigChangedProblem"}]},"CreateAppInstallationRequestGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateAppInstallationRequestRequest":{"additionalProperties":false,"properties":{"appId":{"pattern":"^pho_app_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"clientAssertion":{"maxLength":16384,"minLength":1,"type":"string"},"redirectUri":{"maxLength":4096,"type":"string"},"state":{"maxLength":4096,"type":"string"}},"required":["appId","clientAssertion","redirectUri","state"],"type":"object"},"CreateAppInstallationRequestResponse":{"additionalProperties":{},"properties":{"appId":{"pattern":"^pho_app_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"appVersion":{"pattern":"^[1-9][0-9]*$","type":"string"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"redirectUri":{"maxLength":4096,"type":"string"},"requestId":{"pattern":"^pho_air_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"state":{"maxLength":4096,"type":"string"}},"required":["requestId","appId","appVersion","redirectUri","state","createdAt"],"type":"object"},"CreateDefaultVoiceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileExistsProblem"}]},"CreateDefaultVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateDefaultVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateDefaultVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateDefaultVoiceProfileRequest":{"additionalProperties":false,"properties":{"mediaEncryption":{"$ref":"#/components/schemas/VoiceProfileMediaEncryption"},"protocol":{"const":"sip","type":"string"}},"required":["protocol"],"type":"object"},"CreateImessageContactProfilePictureUploadForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateImessageContactProfilePictureUploadGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateImessageContactProfilePictureUploadInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateImessageContactProfilePictureUploadRequest":{"additionalProperties":false,"properties":{"contentType":{"enum":["image/jpeg","image/png","image/webp"],"type":"string"}},"required":["contentType"],"type":"object"},"CreateOrGetSpaceBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidRequestProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateOrGetSpaceForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrGetSpaceGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrGetSpaceInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateOrGetSpaceRequest":{"additionalProperties":false,"properties":{"participantIds":{"description":"Canonical Photon User IDs from this project and platform. iMessage uses the first participant as creator when a new chat is needed; remaining order is ignored. Other platforms ignore all participant order. Counts: iMessage 2-1000; both WhatsApp platforms exactly 2; email 1-51; SMS 2-9. Every Space requires a currently project-owned Agent.","items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"$ref":"#/components/schemas/Platform"}},"required":["participantIds","platform"],"type":"object"},"CreateOrGetSpaceServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateOrGetSpaceUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/SpaceRequiresOwnedAgentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"CreateOrGetUserForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrGetUserGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrGetUserInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateOrGetUserRequest":{"additionalProperties":false,"properties":{"handle":{"maxLength":512,"minLength":1,"type":"string"},"platform":{"$ref":"#/components/schemas/Platform"}},"required":["handle","platform"],"type":"object"},"CreateOrGetUserUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"CreateOrganizationAvatarUploadConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"CreateOrganizationAvatarUploadForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrganizationAvatarUploadGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrganizationAvatarUploadRequest":{"additionalProperties":false,"properties":{"contentType":{"enum":["image/jpeg","image/png","image/webp"],"type":"string"}},"required":["contentType"],"type":"object"},"CreateOrganizationAvatarUploadResponse":{"additionalProperties":false,"properties":{"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"formFields":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"uploadId":{"type":"string"},"uploadUrl":{"format":"uri","type":"string"}},"required":["expiresAt","formFields","uploadId","uploadUrl"],"type":"object"},"CreateOrganizationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CreateOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrganizationInvitationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateOrganizationInvitationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"CreateOrganizationInvitationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrganizationInvitationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrganizationInvitationRequest":{"additionalProperties":false,"properties":{"email":{"format":"email","maxLength":320,"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,}$","type":"string"},"role":{"enum":["member","viewer"],"type":"string"}},"required":["email","role"],"type":"object"},"CreateOrganizationInvitationResponse":{"additionalProperties":false,"properties":{"acceptedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"acceptedByAccountId":{"type":["string","null"]},"allProjects":{"const":true,"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"invitationId":{"type":"string"},"invitedByAccountId":{"type":"string"},"organizationId":{"type":"string"},"role":{"enum":["member","viewer"],"type":"string"},"status":{"enum":["pending","accepted","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["acceptedAt","acceptedByAccountId","allProjects","createdAt","email","expiresAt","invitationId","invitedByAccountId","organizationId","role","status","updatedAt"],"type":"object"},"CreateOrganizationInvitationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateOrganizationOauthClientConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OauthClientCreationConflictProblem"}]},"CreateOrganizationOauthClientForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrganizationOauthClientGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrganizationOauthClientInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateOrganizationOauthClientRequest":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":1,"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["default","uri"],"type":"object"},"maxItems":10,"minItems":1,"type":"array"},"scopes":{"items":{"maxLength":128,"minLength":1,"type":"string"},"maxItems":20,"type":"array"}},"required":["name","redirectUris","scopes"],"type":"object"},"CreateOrganizationOauthClientResponse":{"additionalProperties":false,"properties":{"clientId":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"description":{"type":["string","null"]},"name":{"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"type":"string"}},"required":["default","uri"],"type":"object"},"type":"array"},"scopes":{"items":{"type":"string"},"type":"array"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["clientId","createdAt","description","name","redirectUris","scopes","updatedAt"],"type":"object"},"CreateOrganizationPaymentMethodCheckoutBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateOrganizationPaymentMethodCheckoutForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateOrganizationPaymentMethodCheckoutGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateOrganizationPaymentMethodCheckoutInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateOrganizationPaymentMethodCheckoutResponse":{"additionalProperties":false,"properties":{"checkoutUrl":{"description":"Hosted Stripe page; send the user here.","format":"uri","type":"string"}},"required":["checkoutUrl"],"type":"object"},"CreateOrganizationPaymentMethodCheckoutServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/PaymentProviderNotReadyProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateOrganizationPaymentMethodCheckoutUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateOrganizationRequest":{"additionalProperties":false,"properties":{"name":{"maxLength":256,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"CreateOrganizationResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"CreateOrganizationSsoPortalLinkBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CreateOrganizationSsoPortalLinkForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"CreateOrganizationSsoPortalLinkGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateOrganizationSsoPortalLinkInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateOrganizationSsoPortalLinkPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"CreateOrganizationSsoPortalLinkRequest":{"additionalProperties":false,"properties":{"intent":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkRequestIntent"},"returnTo":{"minLength":1,"type":"string"}},"required":["returnTo"],"type":"object"},"CreateOrganizationSsoPortalLinkRequestIntent":{"default":"sso","enum":["sso","domain_verification"],"type":"string"},"CreateOrganizationSsoPortalLinkResponse":{"additionalProperties":{},"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"CreateOrganizationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateProjectApiKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CreateProjectApiKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateProjectApiKeyRequest":{"additionalProperties":false,"example":{"name":"Example key","permissions":["project:read"]},"properties":{"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"permissions":{"items":{"$ref":"#/components/schemas/ApiKeyPermission"},"minItems":1,"type":"array"}},"required":["name","permissions"],"type":"object"},"CreateProjectApiKeyResponse":{"additionalProperties":false,"properties":{"apiKey":{"$ref":"#/components/schemas/ApiKey"},"secret":{"type":"string"}},"required":["apiKey","secret"],"type":"object"},"CreateProjectApiKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateProjectBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CreateProjectForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateProjectGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateProjectRequest":{"additionalProperties":false,"properties":{"name":{"maxLength":256,"minLength":1,"type":"string"},"slug":{"maxLength":63,"minLength":3,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"}},"required":["name","slug"],"type":"object"},"CreateProjectUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateServiceIdentityApiKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateServiceIdentityApiKeyConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceCredentialConflictProblem"}]},"CreateServiceIdentityApiKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateServiceIdentityApiKeyGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateServiceIdentityApiKeyRequest":{"additionalProperties":false,"properties":{"expectedIdentityVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"label":{"maxLength":256,"minLength":1,"type":"string"}},"required":["expectedIdentityVersion","label"],"type":"object"},"CreateServiceIdentityApiKeyResponse":{"anyOf":[{"additionalProperties":false,"properties":{"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"status":{"const":"created","type":"string"},"value":{"maxLength":8192,"minLength":1,"type":"string"}},"required":["credentialId","status","value"],"type":"object"},{"additionalProperties":false,"properties":{"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"status":{"enum":["delivery_consumed","recovery_required","revoked"],"type":"string"}},"required":["credentialId","status"],"type":"object"}]},"CreateServiceIdentityApiKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateServiceIdentityBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateServiceIdentityClientSecretBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateServiceIdentityClientSecretConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceCredentialConflictProblem"}]},"CreateServiceIdentityClientSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateServiceIdentityClientSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateServiceIdentityClientSecretRequest":{"additionalProperties":false,"properties":{"expectedIdentityVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"label":{"maxLength":256,"minLength":1,"type":"string"}},"required":["expectedIdentityVersion","label"],"type":"object"},"CreateServiceIdentityClientSecretResponse":{"anyOf":[{"additionalProperties":false,"properties":{"clientId":{"maxLength":256,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"stage":{"const":"credential","type":"string"},"status":{"const":"created","type":"string"},"value":{"maxLength":8192,"minLength":1,"type":"string"}},"required":["clientId","credentialId","stage","status","value"],"type":"object"},{"additionalProperties":false,"properties":{"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"stage":{"const":"credential","type":"string"},"status":{"enum":["delivery_consumed","recovery_required","revocation_pending","revoked"],"type":"string"}},"required":["credentialId","stage","status"],"type":"object"},{"additionalProperties":false,"properties":{"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"stage":{"const":"application","type":"string"},"status":{"enum":["recovery_required","cleanup_required"],"type":"string"}},"required":["operationId","stage","status"],"type":"object"}]},"CreateServiceIdentityClientSecretUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateServiceIdentityConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"CreateServiceIdentityForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateServiceIdentityGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"CreateServiceIdentityRequest":{"additionalProperties":false,"properties":{"name":{"maxLength":256,"minLength":1,"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["name","permissions"],"type":"object"},"CreateServiceIdentityResponse":{"additionalProperties":false,"properties":{"appInstallationManaged":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"organizationId":{"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","disabled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appInstallationManaged","createdAt","createdByAccountId","name","organizationId","permissions","serviceIdentityId","status","updatedAt","updatedByAccountId","version"],"type":"object"},"CreateServiceIdentityUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateSharedLineAssignmentBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateSharedLineAssignmentConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/ImessageModeDedicatedProblem"},{"$ref":"#/components/schemas/SharedLineCapExceededProblem"},{"$ref":"#/components/schemas/AssignmentExistsProblem"}]},"CreateSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateSharedLineAssignmentRequest":{"additionalProperties":false,"properties":{"email":{"format":"email","maxLength":254,"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,}$","type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"handle":{"$ref":"#/components/schemas/ImessageHandle"},"lastName":{"maxLength":100,"minLength":1,"type":"string"}},"required":["handle"],"type":"object"},"CreateSharedLineAssignmentServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/SharedLinePoolExhaustedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateSharedLineAssignmentUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateTenDlcBrandBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateTenDlcBrandConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"}]},"CreateTenDlcBrandForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateTenDlcBrandGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"CreateTenDlcBrandInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateTenDlcBrandRequest":{"additionalProperties":false,"properties":{"profile":{"discriminator":{"mapping":{"organization":"#/components/schemas/OrganizationProfileInput","sole_proprietor":"#/components/schemas/SoleProprietorProfileInput"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/OrganizationProfileInput"},{"$ref":"#/components/schemas/SoleProprietorProfileInput"}]}},"required":["profile"],"type":"object"},"CreateTenDlcBrandResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"description":"Whether a PATCH would now be accepted to fix and resubmit a registration that was not accepted.","type":"boolean"},"editableFields":{"description":"The updateMask paths such a PATCH accepts for this profile type. Empty unless canResubmit.","items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"failureReasons":{"description":"Why the registration was not accepted, while the brand is action_required because of it. PATCH the named fields to fix and resubmit in one request. Empty otherwise.","example":[{"fields":["profile.address"],"message":"Street address is not valid"},{"fields":["profile.phone"],"message":"Mobile Phone Number not supported. Must be a Mobile Phone Number that can receive SMS messages."}],"items":{"additionalProperties":false,"properties":{"fields":{"description":"The updateMask paths this reason points at. Empty when it names no single field.","items":{"type":"string"},"type":"array"},"message":{"description":"Why the registration was not accepted.","type":"string"}},"required":["fields","message"],"type":"object"},"type":"array"},"feedback":{"items":{"additionalProperties":false,"properties":{"category":{"enum":["tax_id","nonprofit","other"],"type":"string"},"message":{"type":"string"}},"required":["category","message"],"type":"object"},"type":"array"},"id":{"type":"string"},"profile":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"companyName":{"type":"string"},"displayName":{"type":"string"},"einLast4":{"maxLength":4,"minLength":4,"type":"string"},"email":{"format":"email","type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"organization","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"},"website":{"format":"uri","type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","companyName","einLast4","entityType","type","website"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"displayName":{"type":"string"},"email":{"format":"email","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"sole_proprietor","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","type"],"type":"object"}]},"registeredAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"status":{"enum":["submitting","submitted","action_required","otp_required","verified","vetted_verified","manual_review"],"type":"string"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["capabilities","createdAt","failureReasons","feedback","id","profile","status","updatedAt"],"type":"object"}},"required":["data"],"type":"object"},"CreateTenDlcBrandServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateTenDlcBrandTooManyRequestsProblem":{"oneOf":[{"$ref":"#/components/schemas/RateLimitedProblem"},{"$ref":"#/components/schemas/BrandRegistrationRateLimitedProblem"}]},"CreateTenDlcBrandUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/UnsupportedEntityTypeProblem"},{"$ref":"#/components/schemas/PhoneNotSmsCapableProblem"}]},"CreateTenDlcCampaignBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateTenDlcCampaignConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/InvalidCampaignStateProblem"},{"$ref":"#/components/schemas/CampaignRegistrationUnavailableProblem"},{"$ref":"#/components/schemas/PromotionCodeRejectedProblem"}]},"CreateTenDlcCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateTenDlcCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"CreateTenDlcCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateTenDlcCampaignNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/BrandNotFoundProblem"},{"$ref":"#/components/schemas/CampaignNotFoundProblem"}]},"CreateTenDlcCampaignPaymentRequiredProblem":{"oneOf":[{"$ref":"#/components/schemas/CampaignRegistrationPaymentFailedProblem"},{"$ref":"#/components/schemas/EntitlementRequiredProblem"}]},"CreateTenDlcCampaignRequest":{"additionalProperties":false,"properties":{"description":{"maxLength":4096,"minLength":40,"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"helpKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"helpMessage":{"maxLength":320,"minLength":20,"type":"string"},"messageFlow":{"maxLength":2048,"minLength":40,"type":"string"},"name":{"maxLength":64,"minLength":1,"type":"string"},"optInKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"optInMessage":{"maxLength":320,"minLength":20,"type":"string"},"optOutKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"optOutMessage":{"maxLength":320,"minLength":20,"type":"string"},"privacyPolicyUrl":{"format":"uri","maxLength":2048,"type":"string"},"promotionCode":{"description":"A promotion code for the monthly campaign fee. It is checked now, and one billing refuses answers PROMOTION_CODE_REJECTED with nothing created. An accepted code applies from carrier approval, even if it expires meanwhile. The registration fee takes no code, and a resubmission keeps this one.","maxLength":255,"minLength":1,"type":"string"},"sampleMessages":{"items":{"maxLength":255,"minLength":20,"type":"string"},"maxItems":5,"minItems":2,"type":"array"},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"format":"uri","maxLength":2048,"type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["description","embeddedLinks","embeddedPhoneNumbers","messageFlow","privacyPolicyUrl","sampleMessages","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","useCases","name"],"type":"object"},"CreateTenDlcCampaignResponse":{"anyOf":[{"additionalProperties":false,"properties":{"retryAfterSeconds":{"const":2,"type":"number"},"status":{"const":"pending","type":"string"}},"required":["retryAfterSeconds","status"],"type":"object"},{"additionalProperties":false,"properties":{"campaign":{"additionalProperties":false,"properties":{"brandId":{"type":"string"},"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"type":"boolean"},"editableFields":{"items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"currentStep":{"anyOf":[{"enum":["brand_verification","brand_qualification","submission","registration","compliance_review","carrier_processing","carrier_activation","billing_activation"],"type":"string"},{"type":"null"}],"description":"The current or blocked step; null when no active step is known."},"description":{"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"type":"string"},"failureReasons":{"description":"Photon review failure explanations. Empty when none are available for the current attempt.","items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"hasUnsubmittedChanges":{"type":"boolean"},"helpKeywords":{"items":{"type":"string"},"type":"array"},"helpMessage":{"type":"string"},"id":{"type":"string"},"messageFlow":{"type":"string"},"name":{"type":"string"},"optInKeywords":{"items":{"type":"string"},"type":"array"},"optInMessage":{"type":"string"},"optOutKeywords":{"items":{"type":"string"},"type":"array"},"optOutMessage":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"readyAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"reviewRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sampleMessages":{"items":{"type":"string"},"type":"array"},"status":{"description":"Overall campaign state. reviewing means checks are pending; activating means activation is in progress; ready means activation and billing are complete. action_required needs customer corrections; support_required needs support assistance.","enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"},"statusMessage":{"description":"A plain-language explanation of the current campaign state.","type":"string"},"statusReason":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"submittedRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["brandId","capabilities","createdAt","currentStep","description","embeddedLinks","embeddedPhoneNumbers","etag","failureReasons","hasUnsubmittedChanges","helpKeywords","helpMessage","id","messageFlow","name","optInKeywords","optInMessage","optOutKeywords","optOutMessage","privacyPolicyUrl","reviewRevision","revision","sampleMessages","status","statusMessage","submittedRevision","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","updatedAt","useCases"],"type":"object"}},"required":["campaign"],"type":"object"}]},"CreateTenDlcCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateTenDlcCampaignUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/CampaignValidationFailedProblem"}]},"CreateVoiceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileRequiredProblem"}]},"CreateVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateVoiceProfileRequest":{"additionalProperties":false,"properties":{"mediaEncryption":{"$ref":"#/components/schemas/VoiceProfileMediaEncryption"},"name":{"maxLength":100,"minLength":1,"type":"string"},"protocol":{"const":"sip","type":"string"}},"required":["name","protocol"],"type":"object"},"CreateWebhookDestinationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"CreateWebhookDestinationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateWebhookDestinationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateWebhookDestinationRequest":{"additionalProperties":false,"properties":{"apiVersion":{"format":"date","type":"string"},"description":{"maxLength":1000,"type":"string"},"enabledEvents":{"$ref":"#/components/schemas/WebhookEventSelection"},"name":{"maxLength":256,"minLength":1,"type":"string"},"status":{"$ref":"#/components/schemas/WebhookDestinationStatus","default":"enabled"},"url":{"description":"HTTPS URL without credentials or a fragment.","format":"uri","maxLength":2048,"minLength":1,"type":"string"}},"required":["apiVersion","enabledEvents","name","url"],"type":"object"},"CreateWebhookDestinationResponse":{"additionalProperties":false,"properties":{"destination":{"$ref":"#/components/schemas/WebhookDestination"},"signingSecret":{"pattern":"^whsec_.*","type":"string"}},"required":["destination","signingSecret"],"type":"object"},"CreateWebhookDestinationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateWhatsappSharedLineAssignmentBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateWhatsappSharedLineAssignmentConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/WhatsappModeDedicatedProblem"},{"$ref":"#/components/schemas/SharedLineCapExceededProblem"},{"$ref":"#/components/schemas/AssignmentExistsProblem"}]},"CreateWhatsappSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateWhatsappSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateWhatsappSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateWhatsappSharedLineAssignmentRequest":{"additionalProperties":false,"properties":{"email":{"format":"email","maxLength":254,"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,}$","type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"handle":{"pattern":"^\\+[1-9]\\d{1,14}$","type":"string"},"lastName":{"maxLength":100,"minLength":1,"type":"string"}},"required":["handle"],"type":"object"},"CreateWhatsappSharedLineAssignmentServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/SharedLinePoolExhaustedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateWhatsappSharedLineAssignmentUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreateWhatsappVoipSenderBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"CreateWhatsappVoipSenderConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/WhatsappAccountDisconnectingProblem"},{"$ref":"#/components/schemas/WhatsappAccountProvisioningProblem"},{"$ref":"#/components/schemas/WhatsappVoipSourceActivatingProblem"},{"$ref":"#/components/schemas/WhatsappSenderConnectedProblem"},{"$ref":"#/components/schemas/WhatsappSenderProvisioningProblem"},{"$ref":"#/components/schemas/WhatsappVoipSourceReleasingProblem"}]},"CreateWhatsappVoipSenderForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"CreateWhatsappVoipSenderGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"CreateWhatsappVoipSenderInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"CreateWhatsappVoipSenderNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/WhatsappWabaNotConnectedProblem"},{"$ref":"#/components/schemas/WhatsappVoipSourceNotEligibleProblem"}]},"CreateWhatsappVoipSenderRequest":{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"voipResourceId":{"type":"string"}},"required":["voipResourceId"],"type":"object"},"CreateWhatsappVoipSenderServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"CreateWhatsappVoipSenderUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/WhatsappDisplayNameUnavailableProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"CreatedAppInstallationDelivery":{"additionalProperties":false,"properties":{"clientId":{"maxLength":256,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"clientSecret":{"maxLength":8192,"minLength":1,"type":"string"},"installationId":{"pattern":"^pho_ain_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"status":{"const":"created","type":"string"}},"required":["installationId","status","clientId","clientSecret"],"type":"object"},"CreditActivity":{"additionalProperties":false,"description":"One change to the organization's credit balance, on a credit note or granted.","properties":{"amountCents":{"description":"How much the balance moved, in cents; kind says which way.","maximum":9007199254740991,"minimum":0,"type":"integer"},"balanceAfterCents":{"description":"The organization's credit balance once this entry applied, in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"creditNote":{"anyOf":[{"$ref":"#/components/schemas/CreditDocument"},{"type":"null"}],"description":"The credit note whose credit moved. Null for granted credit."},"currency":{"description":"ISO currency code.","type":"string"},"invoice":{"anyOf":[{"$ref":"#/components/schemas/CreditDocument"},{"type":"null"}],"description":"The invoice credit was applied to or restored from. Null otherwise."},"kind":{"$ref":"#/components/schemas/CreditActivityKind"},"occurredAt":{"description":"ISO 8601.","type":"string"},"source":{"anyOf":[{"$ref":"#/components/schemas/CreditSource"},{"type":"null"}],"description":"Why the credit was issued: from the charge a credit note credits, or a grant. Null when it is neither: a credit note that credits no charge, or wallet credit an invoice used or that was voided."},"walletTransaction":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"description":"Stable Photon identifier.","type":"string"}},"required":["id"],"type":"object"},{"type":"null"}],"description":"The wallet transaction that moved granted credit. Null for a credit note, and when ending the wallet voided what it had left."}},"required":["amountCents","balanceAfterCents","creditNote","currency","invoice","kind","occurredAt","source","walletTransaction"],"type":"object"},"CreditActivityKind":{"enum":["issued","applied","restored","voided"],"type":"string","x-enumDescriptions":{"applied":"Credit paid part of an invoice.","issued":"A credit note or a grant added credit.","restored":"Credit an invoice used came back because the change it paid for never applied.","voided":"What a credit note or granted credit had left was voided."}},"CreditDocument":{"additionalProperties":false,"properties":{"id":{"description":"Stable Photon identifier.","type":"string"},"number":{"description":"Human document number.","type":"string"}},"required":["id","number"],"type":"object"},"CreditSource":{"additionalProperties":false,"properties":{"chargeCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The fixed-charge code for a release, the plan code for a plan change. Null for a grant."},"chargeName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Null for a grant."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What Photon called a grant when it granted it, such as \"Welcome credit\". Null for a credit note, and for a grant without one."},"kind":{"$ref":"#/components/schemas/CreditSourceKind"},"subject":{"anyOf":[{"$ref":"#/components/schemas/CreditSubject"},{"type":"null"}],"description":"Whose subscription the charge was on: the organization's own, or a project's. Null when it is none Billing knows."}},"required":["chargeCode","chargeName","description","kind","subject"],"type":"object"},"CreditSourceKind":{"enum":["release","unused_time","other","grant"],"type":"string","x-enumDescriptions":{"grant":"Credit Photon granted the organization, such as a new account's first organization's welcome credit.","other":"Any other credit note.","release":"Released units of a prorated fixed charge: their unused days.","unused_time":"A plan's base fee: the unused time after an upgrade or termination."}},"CreditSubject":{"oneOf":[{"$ref":"#/components/schemas/OrganizationCreditSubject"},{"$ref":"#/components/schemas/ProjectCreditSubject"}]},"DailyMessageCount":{"additionalProperties":false,"properties":{"buckets":{"items":{"$ref":"#/components/schemas/MessageCountBucket"},"type":"array"},"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"groups":{"items":{"$ref":"#/components/schemas/MessageStatusCount"},"type":"array"},"interval":{"const":"day","type":"string"},"timeZone":{"type":"string"}},"required":["count","groups","buckets","interval","timeZone"],"type":"object"},"DedicatedProjectPlatformSettings":{"additionalProperties":false,"properties":{"dedicatedLineAvailableNow":{"type":"boolean"},"mode":{"const":"dedicated","type":"string"}},"required":["dedicatedLineAvailableNow","mode"],"type":"object"},"DeleteAccountForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteAccountGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DeleteAccountInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteOrganizationOauthClientConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OauthClientDeletionConflictProblem"}]},"DeleteOrganizationOauthClientForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteOrganizationOauthClientGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DeleteOrganizationOauthClientInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteOrganizationOauthClientResponse":{"additionalProperties":false,"properties":{"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"status":{"enum":["cleanup_required","deleted"],"type":"string"}},"required":["operationId","status"],"type":"object"},"DeleteOrganizationOauthClientSecretConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OauthSecretRevocationConflictProblem"}]},"DeleteOrganizationOauthClientSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteOrganizationOauthClientSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DeleteOrganizationOauthClientSecretInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteProjectBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"DeleteProjectForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteProjectGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DeleteProjectUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"DeleteTenDlcBrandBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"DeleteTenDlcBrandConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/BrandHasCampaignsProblem"}]},"DeleteTenDlcBrandForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteTenDlcBrandGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"DeleteTenDlcBrandInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteTenDlcBrandServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"DeleteTenDlcBrandUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/UnsupportedEntityTypeProblem"},{"$ref":"#/components/schemas/PhoneNotSmsCapableProblem"}]},"DeleteTotpFactorForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"DeleteTotpFactorGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DeleteTotpFactorInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteVoiceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/VoiceProfileInUseProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileDeletionForbiddenProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"}]},"DeleteVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteVoiceProfileForceInput":{"enum":["true","false"],"type":"string"},"DeleteVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"DeleteVoiceProfileInboundConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"}]},"DeleteVoiceProfileInboundForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteVoiceProfileInboundGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"DeleteVoiceProfileInboundInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteVoiceProfileOutboundConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundNotConfiguredProblem"}]},"DeleteVoiceProfileOutboundForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteVoiceProfileOutboundGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"DeleteVoiceProfileOutboundInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DeleteVoiceProfileOutboundResponse":{"additionalProperties":false,"properties":{"outbound":{"type":"null"},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["outbound","profileVersion"],"type":"object"},"DeleteWebhookDestinationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DeleteWebhookDestinationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"DeliveredEmailMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/EmailMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredImessageMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/ImessageMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredMessageTimestamps":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"deliveredAt":{"description":"When Photon finalized delivery based on authoritative confirmation.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"dispatchedAt":{"description":"When the emitting service established the public dispatch/send milestone.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failedAt":{"not":{}},"receivedAt":{"not":{}}},"required":["dispatchedAt","deliveredAt"],"type":"object"},"DeliveredSmsMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/SmsMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredTelegramMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/TelegramMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredUnknownMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/Content"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredWhatsappBusinessMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappBusinessMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveredWhatsappMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"delivered","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DeliveredMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DeliveryConfirmationNotApplicableAcceptance":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"delivery_confirmation_not_applicable","type":"string"},"confirmedRecipientCount":{"not":{}},"confirmedRecipients":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"DeliveryConfirmationTimedOutAcceptance":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"delivery_confirmation_timed_out","type":"string"},"confirmedRecipientCount":{"not":{}},"confirmedRecipients":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"DeliveryConfirmationUnavailableAcceptance":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"delivery_confirmation_unavailable","type":"string"},"confirmedRecipientCount":{"not":{}},"confirmedRecipients":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"DeliveryPartiallyConfirmedAcceptance":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"delivery_partially_confirmed","type":"string"},"confirmedRecipientCount":{"description":"Unique recipients with authoritative delivery confirmation for the original send.","maximum":9007199254740991,"minimum":1,"type":"integer"},"confirmedRecipients":{"description":"Optional complete list of confirmed recipient snapshots, each with a Photon userId and the handle used for the original send. User IDs must be unique, and both fields must be visible to the caller. The list length must equal confirmedRecipientCount. Persist the snapshots with the terminal outcome. Omit when the full confirmed set cannot be identified or disclosed; omission does not mean zero deliveries.","items":{"$ref":"#/components/schemas/ConfirmedRecipient"},"minItems":1,"type":"array"},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message","confirmedRecipientCount"],"type":"object"},"DeprecatedWebhookApiVersion":{"additionalProperties":false,"properties":{"retirement":{"$ref":"#/components/schemas/WebhookApiVersionRetirement"},"selectable":{"const":false,"type":"boolean"},"status":{"const":"deprecated","type":"string"},"successor":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}]},"version":{"format":"date","type":"string"}},"required":["retirement","successor","selectable","status","version"],"type":"object"},"DeprecatedWebhookEventCatalog":{"additionalProperties":false,"properties":{"apiVersion":{"format":"date","type":"string"},"contractNamespace":{"const":"@photon-hq/contracts","type":"string"},"events":{"items":{"$ref":"#/components/schemas/WebhookEventType"},"type":"array"},"packageVersion":{"minLength":1,"type":"string"},"retirement":{"$ref":"#/components/schemas/WebhookApiVersionRetirement"},"selectable":{"const":false,"type":"boolean"},"status":{"const":"deprecated","type":"string"},"successor":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}]}},"required":["retirement","successor","selectable","status","contractNamespace","packageVersion","apiVersion","events"],"type":"object"},"DeveloperTraceNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"DEVELOPER_TRACE_NOT_FOUND","status":404,"title":"Developer Trace Not Found","type":"https://photon.codes/docs/problems/developer-trace-not-found"},"properties":{"code":{"const":"DEVELOPER_TRACE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Developer Trace Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-trace-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"DeviceAuthorizeResponse":{"additionalProperties":{},"properties":{"device_code":{"description":"Opaque device code to exchange at POST /v1/auth/device/token while waiting for the user to authorize.","type":"string"},"expires_in":{"description":"Lifetime of the device code and user code, in seconds.","type":"number"},"interval":{"description":"Minimum number of seconds to wait between token polling requests.","type":"number"},"user_code":{"description":"Code the user enters at verification_uri to authorize this device.","type":"string"},"verification_uri":{"description":"Browser URL where the user enters user_code and authorizes the device.","type":"string"},"verification_uri_complete":{"description":"Browser URL with user_code included, ready to open or encode as a QR code.","type":"string"}},"required":["device_code","expires_in","interval","user_code","verification_uri","verification_uri_complete"],"type":"object"},"DeviceCodeGrantRequest":{"properties":{"device_code":{"description":"device_code returned by POST /v1/auth/device/code. Required for a device-code grant.","minLength":1,"type":"string"},"grant_type":{"const":"urn:ietf:params:oauth:grant-type:device_code","description":"Selects the device authorization grant to poll or exchange a device code.","type":"string"}},"required":["device_code","grant_type"],"type":"object"},"DeviceTokenBadRequestResponse":{"additionalProperties":{},"properties":{"error":{"description":"OAuth error code. During device polling, authorization_pending means authorization is incomplete and slow_down requests a longer polling interval.","type":"string"},"error_description":{"description":"Optional human-readable explanation of the OAuth error.","type":"string"}},"required":["error"],"type":"object"},"DeviceTokenRequest":{"oneOf":[{"$ref":"#/components/schemas/DeviceCodeGrantRequest"},{"$ref":"#/components/schemas/RefreshTokenGrantRequest"}]},"DeviceTokenResponse":{"additionalProperties":{},"properties":{"access_token":{"description":"Bearer access token for authenticated Photon API requests.","type":"string"},"authentication_method":{"description":"Authentication method used for the device login, when returned. Omitted for refresh grants.","type":"string"},"expires_in":{"description":"Access-token validity in seconds, derived from its expiry and issue times; defaults to 300 when unavailable.","type":"number"},"refresh_token":{"description":"Refresh token for the next refresh grant. Tokens rotate on every grant; replace the stored value with this one.","type":"string"},"user":{"$ref":"#/components/schemas/DeviceTokenResponseUser"}},"required":["access_token","expires_in","refresh_token","user"],"type":"object"},"DeviceTokenResponseUser":{"additionalProperties":{},"description":"Profile of the authenticated user.","properties":{"email":{"description":"Authenticated user's email address.","type":"string"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's first name, or null when not set."},"id":{"description":"Authenticated user's identity identifier; distinct from the Photon Account ID.","type":"string"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's last name, or null when not set."}},"required":["id","email","first_name","last_name"],"type":"object"},"DisableAppInstallationConfigBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"DisableAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}]},"DisableAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DisableAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DisableAppInstallationConfigRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"DisableAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"DisableAppInstallationConfigUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"DisableOrganizationSsoBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"DisableOrganizationSsoForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"DisableOrganizationSsoGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DisableOrganizationSsoInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DisableOrganizationSsoPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"DisableOrganizationSsoRequest":{"additionalProperties":false,"properties":{"domains":{"default":[],"items":{"maxLength":253,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"expectedVersion":{"pattern":"^(0|[1-9][0-9]{0,19})$","type":"string"}},"required":["expectedVersion"],"type":"object"},"DisableOrganizationSsoUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"DisconnectWhatsappBusinessAccountBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"}]},"DisconnectWhatsappBusinessAccountConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/WhatsappAccountDisconnectingProblem"},{"$ref":"#/components/schemas/WhatsappAccountProvisioningProblem"}]},"DisconnectWhatsappBusinessAccountForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DisconnectWhatsappBusinessAccountGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"DisconnectWhatsappBusinessAccountInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DisconnectWhatsappBusinessAccountUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"DispatchedEmailMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/EmailMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedImessageMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/ImessageMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedMessageTimestamps":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"deliveredAt":{"not":{}},"dispatchedAt":{"description":"When the emitting service established the public dispatch/send milestone.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failedAt":{"not":{}},"receivedAt":{"not":{}}},"required":["dispatchedAt"],"type":"object"},"DispatchedSmsMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/SmsMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedTelegramMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/TelegramMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedUnknownMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/Content"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedWhatsappBusinessMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappBusinessMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DispatchedWhatsappMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"dispatched","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/DispatchedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"DownloadAttachmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"DownloadAttachmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"DownloadAttachmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"DownloadAttachmentResponse":{},"EmailAddressing":{"additionalProperties":false,"properties":{"bcc":{"description":"Omitted means unavailable or undisclosed; an empty array means known empty. Never infer hidden recipients from another observation.","items":{"$ref":"#/components/schemas/EmailMailbox"},"type":"array"},"cc":{"description":"Omitted means unavailable or undisclosed; an empty array means known empty. Never infer hidden recipients from another observation.","items":{"$ref":"#/components/schemas/EmailMailbox"},"type":"array"},"from":{"$ref":"#/components/schemas/EmailMailbox","description":"The captured sender mailbox. Its address and resolved User ID must agree with the source Message's sentBy."},"replyTo":{"description":"Omitted means unavailable or undisclosed; an empty array means known empty. Never infer hidden recipients from another observation.","items":{"$ref":"#/components/schemas/EmailMailbox"},"type":"array"},"sourceMessageId":{"$ref":"#/components/schemas/MessageId","description":"The Message that supplied this observation. In a Message Space snapshot this is the containing Message's own ID, not its parent ID."},"to":{"description":"Omitted means unavailable or undisclosed; an empty array means known empty. Never infer hidden recipients from another observation.","items":{"$ref":"#/components/schemas/EmailMailbox"},"type":"array"}},"required":["sourceMessageId","from"],"type":"object"},"EmailAdmissionEndedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"EMAIL_ADMISSION_ENDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"reason":{"type":"string"},"recipients":{"items":{"additionalProperties":false,"properties":{"address":{"maxLength":320,"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"role":{"enum":["to","cc","bcc"],"type":"string"}},"required":["address","index","role"],"type":"object"},"maxItems":50,"minItems":1,"type":"array"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Email Admission Ended","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-admission-ended","type":"string"}},"required":["reason","code","status","title","type"],"type":"object"},"EmailContentDisposition":{"enum":["inline","attachment"],"type":"string"},"EmailDeliveryMetrics":{"additionalProperties":false,"properties":{"availability":{"enum":["available","partial","no_data","unavailable"],"type":"string"},"collectedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"complaintVisibility":{"const":"reported_feedback_only","type":"string"},"coverage":{"const":"eligible_single_recipient_messages","type":"string"},"freshness":{"enum":["current","stale","unavailable"],"type":"string"},"interval":{"additionalProperties":false,"properties":{"end":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"start":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["end","start"],"type":"object"},"period":{"enum":["day","week"],"type":"string"},"readAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"series":{"items":{"additionalProperties":false,"properties":{"metric":{"enum":["sent","delivered","permanent_bounces","temporary_bounces","observed_complaints"],"type":"string"},"points":{"items":{"additionalProperties":false,"properties":{"at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["at","count"],"type":"object"},"maxItems":10000,"type":"array"},"status":{"enum":["available","no_data","unavailable"],"type":"string"},"unit":{"enum":["messages","reports"],"type":"string"}},"required":["metric","points","status","unit"],"type":"object"},"maxItems":5,"minItems":5,"type":"array"},"source":{"const":"supplementary_delivery","type":"string"}},"required":["availability","complaintVisibility","coverage","freshness","period","readAt","series","source"],"type":"object"},"EmailDomainAlreadyConnectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_ALREADY_CONNECTED","status":409,"title":"Email Domain Already Connected","type":"https://photon.codes/docs/problems/email-domain-already-connected"},"properties":{"code":{"const":"EMAIL_DOMAIN_ALREADY_CONNECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Email Domain Already Connected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-already-connected","type":"string"}},"required":["code","status","title","type"],"type":"object"},"EmailDomainCapExceededProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_CAP_EXCEEDED","status":409,"title":"Email Domain Cap Exceeded","type":"https://photon.codes/docs/problems/email-domain-cap-exceeded"},"properties":{"code":{"const":"EMAIL_DOMAIN_CAP_EXCEEDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Email Domain Cap Exceeded","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-cap-exceeded","type":"string"}},"required":["code","status","title","type"],"type":"object"},"EmailDomainProviderRejectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_PROVIDER_REJECTED","remediation":{"action":"Contact support@photon.codes."},"status":422,"title":"Email Domain Provider Rejected","type":"https://photon.codes/docs/problems/email-domain-provider-rejected"},"properties":{"code":{"const":"EMAIL_DOMAIN_PROVIDER_REJECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Email Domain Provider Rejected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-provider-rejected","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EmailDomainReleaseFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_RELEASE_FAILED","remediation":{"action":"The domain is still connected. Contact support@photon.codes."},"status":502,"title":"Email Domain Release Failed","type":"https://photon.codes/docs/problems/email-domain-release-failed"},"properties":{"code":{"const":"EMAIL_DOMAIN_RELEASE_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Email Domain Release Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-release-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EmailDomainVerificationFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_VERIFICATION_FAILED","remediation":{"action":"Connect the domain again."},"status":502,"title":"Email Domain Verification Failed","type":"https://photon.codes/docs/problems/email-domain-verification-failed"},"properties":{"code":{"const":"EMAIL_DOMAIN_VERIFICATION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Email Domain Verification Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-verification-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EmailDomainVerificationTimedOutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_DOMAIN_VERIFICATION_TIMED_OUT","remediation":{"action":"Publish the domain's DNS records, then connect the domain again."},"status":504,"title":"Email Domain Verification Timed Out","type":"https://photon.codes/docs/problems/email-domain-verification-timed-out"},"properties":{"code":{"const":"EMAIL_DOMAIN_VERIFICATION_TIMED_OUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Email Domain Verification Timed Out","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-domain-verification-timed-out","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EmailGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/EmailGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"EmailGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"EmailMailbox":{"additionalProperties":false,"properties":{"address":{"$ref":"#/components/schemas/EmailMailboxAddress"},"name":{"description":"The captured display name, when known.","minLength":1,"type":"string"},"userId":{"$ref":"#/components/schemas/UserId","description":"The resolved Photon User ID, when available. Outbound admission must resolve every mailbox before capture."}},"required":["address"],"type":"object"},"EmailMailboxAddress":{"description":"The captured mailbox address. Preserve local-part case; admission services own normalization and sending restrictions.","minLength":1,"oneOf":[{"type":"string"},{"pattern":"[\\s\\x00-\\x1f\\x7f]","type":"string"}],"pattern":"^[^\\s@\\x00-\\x1f\\x7f]+@[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)*$","type":"string"},"EmailMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedEmailMessage"},{"$ref":"#/components/schemas/DispatchedEmailMessage"},{"$ref":"#/components/schemas/AcceptedEmailMessage"},{"$ref":"#/components/schemas/DeliveredEmailMessage"},{"$ref":"#/components/schemas/FailedEmailMessage"}]},"EmailMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"email","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"},{"$ref":"#/components/schemas/EmailGroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"EmailMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"email","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"email","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"email","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"email","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailMetadata":{"additionalProperties":false,"properties":{"contentDisposition":{"$ref":"#/components/schemas/EmailContentDisposition"},"contentId":{"minLength":1,"type":"string"},"originalHtml":{"type":"string"},"related":{"type":"boolean"},"sourceMediaType":{"minLength":1,"type":"string"},"subject":{"type":"string"}},"type":"object"},"EmailOrganizationSendingPolicy":{"additionalProperties":false,"properties":{"paused":{"description":"Whether this Photon sending policy is paused. Other send eligibility checks still apply.","type":"boolean"},"recipientsPer24Hours":{"description":"Organization recipient allowance shared by all Projects in a rolling 24-hour window.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"recipientsPerMinute":{"description":"Organization recipient allowance shared by all Projects in a rolling 60-second window.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"reviewStatus":{"enum":["new","reviewed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["paused","reviewStatus","updatedAt","recipientsPer24Hours","recipientsPerMinute"],"type":"object"},"EmailPlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailPlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailPlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailPlatformSendingPausedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailPlatformSendingPausedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.sending.paused","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailPlatformSendingPausedEventData":{"additionalProperties":false,"properties":{"object":{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"reason":{"enum":["reputation_policy","operator_action"],"type":"string"},"scope":{"enum":["project","organization"],"type":"string"}},"required":["platform","scope","reason"],"type":"object"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailPlatformSendingResumedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailPlatformSendingResumedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.sending.resumed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailPlatformSendingResumedEventData":{"additionalProperties":false,"properties":{"object":{"additionalProperties":false,"properties":{"platform":{"const":"email","type":"string"},"reason":{"enum":["reputation_policy","operator_action"],"type":"string"},"scope":{"enum":["project","organization"],"type":"string"}},"required":["platform","scope","reason"],"type":"object"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailRecipientSuppressedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"EMAIL_RECIPIENT_SUPPRESSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"recipients":{"items":{"additionalProperties":false,"properties":{"address":{"maxLength":320,"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"role":{"enum":["to","cc","bcc"],"type":"string"}},"required":["address","index","role"],"type":"object"},"maxItems":50,"minItems":1,"type":"array"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Email Recipient Suppressed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-recipient-suppressed","type":"string"}},"required":["recipients","code","status","title","type"],"type":"object"},"EmailRecommendation":{"additionalProperties":false,"properties":{"action":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"contact_support","type":"string"}},"required":["code"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"review_domain_dns","type":"string"},"resourceId":{"type":"string"}},"required":["code","resourceId"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"review_domain_checks","type":"string"},"resourceId":{"type":"string"}},"required":["code","resourceId"],"type":"object"}]},"category":{"enum":["sending_restriction","domain_health","data_availability"],"type":"string"},"code":{"enum":["project_sending_paused","organization_sending_paused","sending_review_required","sending_checks_unavailable","domain_dns_records","domain_verification","domain_checks_unavailable","domain_settings_unavailable","domain_unavailable"],"type":"string"},"description":{"maxLength":1024,"minLength":1,"type":"string"},"observationStatus":{"enum":["current","partial","stale","unavailable"],"type":"string"},"observedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"scope":{"oneOf":[{"additionalProperties":false,"properties":{"type":{"const":"project","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"organization","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"resourceId":{"type":"string"},"type":{"const":"domain","type":"string"}},"required":["resourceId","type"],"type":"object"}]},"severity":{"enum":["info","warning"],"type":"string"},"status":{"const":"active","description":"Current fact-derived recommendations. Absence is not a resolved finding or proof that sending is allowed.","type":"string"},"title":{"maxLength":160,"minLength":1,"type":"string"}},"required":["action","category","code","description","observationStatus","scope","severity","status","title"],"type":"object"},"EmailRecommendations":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"deliveryAdvice":{"const":"unavailable","type":"string"},"reputation":{"const":"unavailable","type":"string"},"sendingPolicies":{"const":"available","type":"string"},"sendingSetup":{"additionalProperties":false,"properties":{"observationStatus":{"enum":["current","partial","stale","unavailable"],"type":"string"},"observedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["observationStatus"],"type":"object"}},"required":["deliveryAdvice","reputation","sendingPolicies","sendingSetup"],"type":"object"},"domainPage":{"additionalProperties":false,"properties":{"hasMore":{"type":"boolean"},"nextPageToken":{"maxLength":8192,"minLength":1,"type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"observationStatus":{"enum":["current","partial","stale","unavailable"],"type":"string"},"observedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"resourceId":{"type":"string"}},"required":["observationStatus","resourceId"],"type":"object"},"maxItems":200,"type":"array"}},"required":["hasMore","observations"],"type":"object"},"readAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"recommendations":{"items":{"$ref":"#/components/schemas/EmailRecommendation"},"maxItems":1004,"type":"array"}},"required":["coverage","domainPage","readAt","recommendations"],"type":"object"},"EmailSendingPolicies":{"additionalProperties":false,"properties":{"organization":{"$ref":"#/components/schemas/EmailOrganizationSendingPolicy"},"project":{"$ref":"#/components/schemas/EmailSendingPolicy"}},"required":["organization","project"],"type":"object"},"EmailSendingPolicy":{"additionalProperties":false,"properties":{"paused":{"description":"Whether this Photon sending policy is paused. Other send eligibility checks still apply.","type":"boolean"},"reviewStatus":{"enum":["new","reviewed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["paused","reviewStatus","updatedAt"],"type":"object"},"EmailSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/EmailSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"EmailSpaceDetails":{"additionalProperties":false,"properties":{"latestAddressing":{"$ref":"#/components/schemas/EmailAddressing","description":"The latest eligible whole observation on a canonical Space, or this Message's immutable capture in an embedded Space. Absent when no observation is available."}},"type":"object"},"EmailSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/EmailSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"EmailSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"email","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailSpaceUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/EmailSpaceUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"email.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EmailSpaceUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"additionalProperties":{},"properties":{"type":{"const":"space.participants.update","type":"string"}},"required":["type"],"type":"object"},"platform":{"const":"email","type":"string"},"status":{"enum":["received","delivered"],"type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"EmailTenantSetupTimedOutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EMAIL_TENANT_SETUP_TIMED_OUT","remediation":{"action":"Connect the domain again."},"status":504,"title":"Email Tenant Setup Timed Out","type":"https://photon.codes/docs/problems/email-tenant-setup-timed-out"},"properties":{"code":{"const":"EMAIL_TENANT_SETUP_TIMED_OUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Email Tenant Setup Timed Out","type":"string"},"type":{"const":"https://photon.codes/docs/problems/email-tenant-setup-timed-out","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EmailUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/EmailUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"EmailUserDetails":{"additionalProperties":false,"properties":{"managedBy":{"$ref":"#/components/schemas/ManagerId"},"resourceId":{"$ref":"#/components/schemas/ResourceId"}},"type":"object"},"EmailUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/EmailUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"EnableAppInstallationConfigBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"EnableAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}]},"EnableAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"EnableAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"EnableAppInstallationConfigRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"EnableAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"EnableAppInstallationConfigUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"EndedAfterAnswerCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"description":"When the destination accepted the Call.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"connectedAt":{"not":{}},"endedAt":{"description":"When the aggregate Call was confirmed terminal.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","answeredAt","endedAt"],"type":"object"},"EndedAfterConnectCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"description":"When the destination accepted the Call.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"connectedAt":{"description":"When the initial required parties established usable media.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"endedAt":{"description":"When the aggregate Call was confirmed terminal.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","answeredAt","connectedAt","endedAt"],"type":"object"},"EndedBeforeAnswerCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"not":{}},"connectedAt":{"not":{}},"endedAt":{"description":"When the aggregate Call was confirmed terminal.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","endedAt"],"type":"object"},"EndedCall":{"oneOf":[{"$ref":"#/components/schemas/CompletedCall"},{"$ref":"#/components/schemas/BusyCall"},{"$ref":"#/components/schemas/NoAnswerCall"},{"$ref":"#/components/schemas/RejectedCall"},{"$ref":"#/components/schemas/CanceledCall"},{"$ref":"#/components/schemas/FailedCall"}]},"EndedCallTimestamps":{"anyOf":[{"$ref":"#/components/schemas/EndedBeforeAnswerCallTimestamps"},{"$ref":"#/components/schemas/EndedAfterAnswerCallTimestamps"},{"$ref":"#/components/schemas/EndedAfterConnectCallTimestamps"}]},"EnterprisePlanRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ENTERPRISE_PLAN_REQUIRED","remediation":{"action":"Contact support@photon.codes to upgrade to an Enterprise plan.","documentation":"https://photon.codes/docs/beta/plans-and-billing#enterprise"},"status":402,"title":"Enterprise Plan Required","type":"https://photon.codes/docs/problems/enterprise-plan-required"},"properties":{"code":{"const":"ENTERPRISE_PLAN_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":402,"type":"number"},"title":{"const":"Enterprise Plan Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/enterprise-plan-required","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"EntitlementRejectionReason":{"enum":["billing_restricted","business_plan_required","card_required","email_required","plan_change_scheduled","subscription_not_billable"],"type":"string"},"EntitlementRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ENTITLEMENT_REQUIRED","reason":"card_required","status":402,"title":"Entitlement Required","type":"https://photon.codes/docs/problems/entitlement-required"},"properties":{"code":{"const":"ENTITLEMENT_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"effectiveAt":{"format":"date-time","type":"string"},"instance":{"minLength":1,"type":"string"},"reason":{"$ref":"#/components/schemas/EntitlementRejectionReason"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":402,"type":"number"},"title":{"const":"Entitlement Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/entitlement-required","type":"string"}},"required":["reason","code","status","title","type"],"type":"object"},"Envelope":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"$ref":"#/components/schemas/EventSource"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"$ref":"#/components/schemas/EventType"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"EventId":{"pattern":"^pho_evt_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"EventSource":{"pattern":"^[a-z0-9_-]+(?:\\.[a-z0-9_-]+)+$","type":"string"},"EventType":{"pattern":"^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9_-]*)+$","type":"string"},"ExecutionFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"EXECUTION_FAILED","status":502,"title":"Developer OTel Query Execution Failed","type":"https://photon.codes/docs/problems/developer-otel-query-execution-failed"},"properties":{"code":{"const":"EXECUTION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Developer OTel Query Execution Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-query-execution-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ExistingAppInstallationDelivery":{"additionalProperties":false,"properties":{"installationId":{"pattern":"^pho_ain_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"status":{"$ref":"#/components/schemas/ExistingAppInstallationDeliveryStatus"}},"required":["installationId","status"],"type":"object"},"ExistingAppInstallationDeliveryStatus":{"enum":["delivery_consumed","recovery_required","revocation_pending","revoked"],"type":"string"},"ExternalWebhookReceivedEvent":{"anyOf":[{"$ref":"#/components/schemas/AnyExternalWebhookReceivedEvent"}]},"FailedBillingOperation":{"additionalProperties":false,"properties":{"failure":{"$ref":"#/components/schemas/BillingOperationFailure"},"kind":{"$ref":"#/components/schemas/BillingOperationKind"},"operationId":{"description":"Stable handle for this provisioning action.","type":"string"},"paymentAction":{"type":"null"},"resolvedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"type":"null"},"status":{"const":"failed","description":"Terminal. Failure contains a stable code and retryability.","type":"string"},"submittedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["failure","kind","operationId","submittedAt","paymentAction","resolvedAt","result","status"],"type":"object"},"FailedCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"FailedEmailMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/EmailMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedImessageMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/ImessageMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedMessageTimestamps":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"deliveredAt":{"not":{}},"dispatchedAt":{"description":"When the emitting service established the public dispatch/send milestone.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failedAt":{"description":"When Photon finalized terminal failure.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"receivedAt":{"not":{}}},"required":["failedAt"],"type":"object"},"FailedPreconditionProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"FAILED_PRECONDITION","status":409,"title":"Failed Precondition","type":"https://photon.codes/docs/problems/failed-precondition"},"properties":{"code":{"const":"FAILED_PRECONDITION","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Failed Precondition","type":"string"},"type":{"const":"https://photon.codes/docs/problems/failed-precondition","type":"string"}},"required":["code","status","title","type"],"type":"object"},"FailedSmsMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/SmsMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedTelegramMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/TelegramMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedUnknownMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/Content"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedWhatsappBusinessMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappBusinessMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FailedWhatsappMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"$ref":"#/components/schemas/MessageFailure"},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/FailedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","failure","status","timestamps"],"type":"object"},"FilteredVerificationCode":{"additionalProperties":false,"properties":{"handle":{"type":"string"},"platform":{"example":"imessage","type":"string"},"receivedAt":{"example":"2026-10-01T12:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"resourceId":{"type":"string"}},"required":["handle","platform","receivedAt","resourceId"],"type":"object"},"FilteredVerificationCodeCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"receivedAfter":{"example":"2026-09-02T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"receivedBefore":{"example":"2026-10-02T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["count","receivedAfter","receivedBefore"],"type":"object"},"FilteredVerificationCodePage":{"additionalProperties":false,"properties":{"filteredVerificationCodes":{"items":{"$ref":"#/components/schemas/FilteredVerificationCode"},"type":"array"},"nextPageToken":{"type":"string"}},"required":["filteredVerificationCodes"],"type":"object"},"FilteredVerificationCodePlatform":{"enum":["imessage","whatsapp"],"type":"string"},"FixedCharge":{"additionalProperties":false,"properties":{"chargeModel":{"$ref":"#/components/schemas/FixedChargeModel"},"displayName":{"type":"string"},"fixedChargeCode":{"type":"string"},"payInAdvance":{"type":"boolean"},"pricing":{"$ref":"#/components/schemas/FixedChargePricing"},"prorated":{"type":"boolean"},"quantity":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["chargeModel","displayName","fixedChargeCode","payInAdvance","pricing","prorated","quantity"],"type":"object"},"FixedChargeAddition":{"additionalProperties":false,"description":"Units of a fixed charge added once a plan change applies.","properties":{"fixedChargeCode":{"description":"Fixed charge to change, e.g. sms_local_us_number.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"increment":{"description":"Units added.","maximum":10000,"minimum":1,"type":"integer"}},"required":["fixedChargeCode","increment"],"type":"object"},"FixedChargeChange":{"additionalProperties":false,"description":"A quantity change made now, as a purchase or release makes it.","properties":{"fixedChargeCode":{"description":"Fixed charge to change, e.g. sms_local_us_number.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"increment":{"description":"Signed change to the current quantity. The resulting quantity must stay between 0 and 10,000.","maximum":10000,"minimum":-10000,"type":"integer"}},"required":["fixedChargeCode","increment"],"type":"object"},"FixedChargeModel":{"enum":["graduated","standard","volume"],"type":"string"},"FixedChargePricing":{"additionalProperties":false,"properties":{"amount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"tiers":{"items":{"$ref":"#/components/schemas/FixedChargeTier"},"type":"array"}},"required":["amount","tiers"],"type":"object"},"FixedChargeQuote":{"additionalProperties":false,"description":"The unit price, currency and period the preview was priced on. Pass them on with the purchase so it is refused if they no longer hold.","properties":{"amount":{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},"currency":{"type":"string"},"currentPeriodEnd":{"description":"ISO 8601.","type":"string"}},"required":["amount","currency","currentPeriodEnd"],"type":"object"},"FixedChargeTier":{"additionalProperties":false,"properties":{"flatAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"fromUnit":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"perUnitAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"toUnit":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["flatAmount","fromUnit","perUnitAmount","toUnit"],"type":"object"},"ForbiddenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"FORBIDDEN","status":403,"title":"Forbidden","type":"https://photon.codes/docs/problems/forbidden"},"properties":{"code":{"const":"FORBIDDEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Forbidden","type":"string"},"type":{"const":"https://photon.codes/docs/problems/forbidden","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ForbiddenSqlProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"FORBIDDEN_SQL","status":400,"title":"Forbidden Developer OTel SQL","type":"https://photon.codes/docs/problems/developer-otel-forbidden-sql"},"properties":{"code":{"const":"FORBIDDEN_SQL","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Forbidden Developer OTel SQL","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-forbidden-sql","type":"string"}},"required":["code","status","title","type"],"type":"object"},"GetAccountForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAccountGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAccountGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"GetAccountInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetAgentProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAgentProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAppInstallationApprovalBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"GetAppInstallationApprovalConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"GetAppInstallationApprovalForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAppInstallationApprovalGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAppInstallationApprovalNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"GetAppInstallationApprovalResponse":{"additionalProperties":false,"properties":{"app":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","description","name","requestedPermissions","version","websiteUrl","eventSubscription"],"type":"object"},"developerOrganizationName":{"maxLength":256,"minLength":1,"type":"string"},"installation":{"anyOf":[{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},{"type":"null"}]},"organizationId":{"type":"string"},"projectScopeSupported":{"type":"boolean"},"redirectHost":{"maxLength":255,"minLength":1,"type":"string"},"requestId":{"type":"string"},"setup":{"anyOf":[{"additionalProperties":false,"properties":{"requestId":{"type":"string"},"state":{"enum":["preparing","ready","collected","failed"],"type":"string"}},"required":["state"],"type":"object"},{"type":"null"}]}},"required":["app","developerOrganizationName","installation","organizationId","redirectHost","requestId","setup"],"type":"object"},"GetAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"GetAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"GetAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"GetAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"GetAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"GetAppInstallationResponse":{"additionalProperties":false,"properties":{"app":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","description","name","requestedPermissions","status","version","websiteUrl","eventSubscription"],"type":"object"},"developerOrganizationName":{"maxLength":256,"minLength":1,"type":"string"},"installation":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"setup":{"anyOf":[{"additionalProperties":false,"properties":{"requestId":{"type":"string"},"state":{"enum":["preparing","ready","collected","failed"],"type":"string"}},"required":["state"],"type":"object"},{"type":"null"}]},"updateAvailable":{"type":"boolean"}},"required":["app","developerOrganizationName","installation","setup"],"type":"object"},"GetAppInstallationReturnBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"GetAppInstallationReturnConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"GetAppInstallationReturnForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAppInstallationReturnGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAppInstallationReturnNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"GetAppInstallationReturnResponse":{"additionalProperties":false,"properties":{"redirectUrl":{"format":"uri","type":"string"}},"required":["redirectUrl"],"type":"object"},"GetAppWebhookSigningKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAppWebhookSigningKeyResponse":{"additionalProperties":false,"properties":{"exists":{"type":"boolean"},"fingerprint":{"type":"string"},"revealed":{"type":"boolean"}},"required":["exists","fingerprint","revealed"],"type":"object"},"GetAttachmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetAttachmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetAttachmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetBillingOperationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetBillingOperationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetBillingOperationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetBillingOverviewForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetBillingOverviewGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetBillingOverviewInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetBillingOverviewResponse":{"additionalProperties":false,"properties":{"entitlementsVersion":{"description":"Bumps on every entitlement change in any category.","maximum":9007199254740991,"minimum":0,"type":"integer"},"subscriptions":{"description":"One entry per category that currently holds a subscription. Empty means none do — cancelled, or never opened.","items":{"$ref":"#/components/schemas/ProjectSubscription"},"type":"array"},"usage":{"description":"Current-period metered usage, priced.","items":{"$ref":"#/components/schemas/MeteredUsage"},"type":"array"}},"required":["entitlementsVersion","subscriptions","usage"],"type":"object"},"GetBillingOverviewServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetCurrentAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetCurrentAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","effectivePermissions","installationId","organizationId","serviceIdentityId","version","projectScope"],"type":"object"},"GetCurrentOrganizationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"GetCurrentOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetCurrentOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetCurrentOrganizationResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"GetDefaultVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetDefaultVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetDefaultVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetDeveloperOtelQuerySchemaBadGatewayProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamFailureProblem"},{"$ref":"#/components/schemas/ExecutionFailedProblem"}]},"GetDeveloperOtelQuerySchemaBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidQueryProblem"},{"$ref":"#/components/schemas/ForbiddenSqlProblem"},{"$ref":"#/components/schemas/InvalidParameterProblem"}]},"GetDeveloperOtelQuerySchemaForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetDeveloperOtelQuerySchemaGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/TimeoutProblem"}]},"GetDeveloperOtelQuerySchemaInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetDeveloperOtelQuerySchemaResponse":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":false,"properties":{"arrayJoin":{"type":"boolean"},"ctes":{"type":"boolean"},"joins":{"type":"boolean"},"parameters":{"type":"boolean"},"subqueries":{"type":"boolean"},"unions":{"type":"boolean"}},"required":["arrayJoin","ctes","joins","parameters","subqueries","unions"],"type":"object"},"limits":{"additionalProperties":false,"properties":{"maximumParameterValueBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumParameters":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumSqlBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumTotalParameterBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["maximumParameters","maximumParameterValueBytes","maximumSqlBytes","maximumTotalParameterBytes"],"type":"object"},"projectScoped":{"const":true,"type":"boolean"},"tables":{"items":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"required":["description","name","type"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["columns","name"],"type":"object"},"type":"array"}},"required":["capabilities","limits","projectScoped","tables"],"type":"object"},"GetDeveloperOtelQuerySchemaUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/ResourceLimitProblem"}]},"GetDeveloperTraceBadGatewayProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamFailureProblem"},{"$ref":"#/components/schemas/ExecutionFailedProblem"}]},"GetDeveloperTraceBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidQueryProblem"},{"$ref":"#/components/schemas/ForbiddenSqlProblem"},{"$ref":"#/components/schemas/InvalidParameterProblem"}]},"GetDeveloperTraceForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetDeveloperTraceGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/TimeoutProblem"}]},"GetDeveloperTraceInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetDeveloperTraceResponse":{"additionalProperties":false,"properties":{"resourceSpans":{"items":{"additionalProperties":false,"properties":{"resource":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"entityRefs":{"items":{"additionalProperties":false,"properties":{"descriptionKeys":{"items":{"type":"string"},"type":"array"},"idKeys":{"items":{"type":"string"},"type":"array"},"schemaUrl":{"type":"string"},"type":{"type":"string"}},"required":["type"],"type":"object"},"type":"array"}},"required":["attributes"],"type":"object"},"schemaUrl":{"type":"string"},"scopeSpans":{"items":{"additionalProperties":false,"properties":{"schemaUrl":{"type":"string"},"scope":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"version":{"type":"string"}},"required":["attributes"],"type":"object"},"spans":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"droppedEventsCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"droppedLinksCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"endTimeUnixNano":{"pattern":"^[0-9]+$","type":"string"},"events":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"timeUnixNano":{"pattern":"^[0-9]+$","type":"string"}},"required":["attributes","name","timeUnixNano"],"type":"object"},"type":"array"},"flags":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"links":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"flags":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"spanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"traceId":{"maxLength":32,"minLength":32,"pattern":"^[0-9a-f]+$","type":"string"},"traceState":{"type":"string"}},"required":["attributes","spanId","traceId"],"type":"object"},"type":"array"},"name":{"type":"string"},"parentSpanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"spanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"startTimeUnixNano":{"pattern":"^[0-9]+$","type":"string"},"status":{"additionalProperties":false,"properties":{"code":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"message":{"type":"string"}},"required":["code"],"type":"object"},"traceId":{"maxLength":32,"minLength":32,"pattern":"^[0-9a-f]+$","type":"string"},"traceState":{"type":"string"}},"required":["attributes","endTimeUnixNano","events","kind","links","name","spanId","startTimeUnixNano","traceId"],"type":"object"},"type":"array"}},"required":["spans"],"type":"object"},"type":"array"}},"required":["scopeSpans"],"type":"object"},"type":"array"}},"required":["resourceSpans"],"type":"object"},"GetDeveloperTraceUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/ResourceLimitProblem"}]},"GetEffectiveTermsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetEffectiveTermsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetEffectiveTermsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetEffectiveTermsResponse":{"additionalProperties":false,"properties":{"subscriptions":{"description":"One entry per category the project holds, by category. Empty means it holds none.","items":{"$ref":"#/components/schemas/SubscriptionTerms"},"type":"array"},"timeZone":{"description":"The IANA time zone the payer is billed in, e.g. America/Los_Angeles. Billing periods start and end at its midnights, so read their calendar dates in it.","type":"string"}},"required":["subscriptions","timeZone"],"type":"object"},"GetEffectiveTermsServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetEmailDeliveryMetricsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetEmailDeliveryMetricsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetEmailDeliveryMetricsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetEmailDmarcForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetEmailDmarcGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetEmailDmarcInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetEmailDmarcResponse":{"additionalProperties":false,"properties":{"checking":{"type":"boolean"},"freshness":{"enum":["pending","fresh","stale"],"type":"string"},"instructions":{"additionalProperties":false,"properties":{"explanation":{"type":"string"},"name":{"type":"string"},"type":{"const":"TXT","type":"string"},"value":{"type":"string"}},"required":["explanation","name","type","value"],"type":"object"},"resourceId":{"type":"string"},"result":{"anyOf":[{"additionalProperties":false,"properties":{"checkedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"domain":{"type":"string"},"effectivePolicy":{"anyOf":[{"enum":["none","quarantine","reject"],"type":"string"},{"type":"null"}]},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"inherited":{"type":"boolean"},"nonExistentPolicy":{"anyOf":[{"enum":["none","quarantine","reject"],"type":"string"},{"type":"null"}]},"observations":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"parsed":{"additionalProperties":false,"properties":{"adkim":{"enum":["r","s"],"type":"string"},"aspf":{"enum":["r","s"],"type":"string"},"np":{"enum":["none","quarantine","reject"],"type":"string"},"p":{"enum":["none","quarantine","reject"],"type":"string"},"psd":{"enum":["u","y","n"],"type":"string"},"sp":{"enum":["none","quarantine","reject"],"type":"string"}},"required":["adkim","aspf","p","psd"],"type":"object"},"records":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"status":{"enum":["valid","missing","multiple","malformed","unavailable"],"type":"string"}},"required":["name","records","status"],"type":"object"},"maxItems":8,"type":"array"},"sourceDomain":{"type":["string","null"]},"standard":{"const":"RFC9989","type":"string"},"status":{"enum":["valid","missing","multiple","malformed","unavailable"],"type":"string"}},"required":["checkedAt","domain","effectivePolicy","expiresAt","inherited","nonExistentPolicy","observations","sourceDomain","standard","status"],"type":"object"},{"type":"null"}]}},"required":["checking","freshness","instructions","resourceId","result"],"type":"object"},"GetEmailSendingPoliciesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetEmailSendingPoliciesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetEmailSendingPoliciesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetImessageLineContactProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetImessageLineContactProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetImessageLineContactProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetInvoicePdfForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetInvoicePdfGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetInvoicePdfInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetMessageForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetMessageGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetMessageInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetMessageMetricsBackfillForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetMessageMetricsBackfillResponse":{"additionalProperties":{},"properties":{"failedWrites":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"lastVerifiedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"processedWrites":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"$ref":"#/components/schemas/MessageMetricsBackfillState"},"version":{"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])))$","type":"string"}},"required":["failedWrites","lastVerifiedAt","processedWrites","state","version"],"type":"object"},"GetMessageMetricsSqlSchemaForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetMessageMetricsSqlSchemaResponse":{"additionalProperties":false,"properties":{"capabilities":{"$ref":"#/components/schemas/MessageMetricsSqlCapabilities"},"dialect":{"type":"string"},"limits":{"$ref":"#/components/schemas/MessageMetricsSqlLimits"},"projectScoped":{"const":true,"type":"boolean"},"tables":{"items":{"$ref":"#/components/schemas/MessageMetricsSqlTable"},"type":"array"},"version":{"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])))$","type":"string"}},"required":["capabilities","dialect","limits","projectScoped","tables","version"],"type":"object"},"GetMfaStatusForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"GetMfaStatusGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetMfaStatusInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetMfaStatusResponse":{"additionalProperties":false,"properties":{"totp":{"$ref":"#/components/schemas/MfaTotpStatus"}},"required":["totp"],"type":"object"},"GetOperationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOperationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetOperationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOperationResponse":{"additionalProperties":false,"properties":{"operation":{"$ref":"#/components/schemas/Operation"},"resource":{"$ref":"#/components/schemas/Resource"}},"required":["operation"],"type":"object"},"GetOrganizationBillingOverviewForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationBillingOverviewGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetOrganizationBillingOverviewInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationBillingOverviewResponse":{"additionalProperties":false,"properties":{"currentPeriod":{"anyOf":[{"$ref":"#/components/schemas/OrganizationBillingPeriod"},{"type":"null"}],"description":"Charges so far this billing period, for an organization that pays by invoice; null for one that pays by card, or while its projects are still being moved to its billing day."},"entitlementsVersion":{"description":"Bumps on every entitlement change for the organization.","maximum":9007199254740991,"minimum":0,"type":"integer"},"subscription":{"anyOf":[{"$ref":"#/components/schemas/OrganizationSubscription"},{"type":"null"}],"description":"The organization-owned subscription, or null when billing was never opened or has ended."}},"required":["currentPeriod","entitlementsVersion","subscription"],"type":"object"},"GetOrganizationBillingOverviewServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetOrganizationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"GetOrganizationConnectionStatusForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"GetOrganizationConnectionStatusGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetOrganizationConnectionStatusInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationCreditForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationCreditGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetOrganizationCreditInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationCreditResponse":{"additionalProperties":false,"properties":{"balanceCents":{"description":"Credit left to offset the organization's next invoices, in cents: on credit notes, and in its wallet, granted to it or purchased. Zero when none is left.","maximum":9007199254740991,"minimum":0,"type":"integer"},"currency":{"description":"ISO currency code.","type":"string"}},"required":["balanceCents","currency"],"type":"object"},"GetOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetOrganizationOauthClientForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationOauthClientGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetOrganizationOauthClientInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationOauthClientResponse":{"additionalProperties":false,"properties":{"clientId":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"description":{"type":["string","null"]},"name":{"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"type":"string"}},"required":["default","uri"],"type":"object"},"type":"array"},"scopes":{"items":{"type":"string"},"type":"array"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["clientId","createdAt","description","name","redirectUris","scopes","updatedAt"],"type":"object"},"GetOrganizationOauthClientSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationOauthClientSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetOrganizationOauthClientSecretInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationOauthClientSecretResponse":{"additionalProperties":false,"properties":{"current":{"anyOf":[{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"hint":{"minLength":1,"type":"string"},"lastUsedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]}},"required":["createdAt","hint","lastUsedAt"],"type":"object"},{"type":"null"}]},"previous":{"anyOf":[{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"hint":{"minLength":1,"type":"string"},"lastUsedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"validUntil":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]}},"required":["createdAt","hint","lastUsedAt","validUntil"],"type":"object"},{"type":"null"}]}},"required":["current","previous"],"type":"object"},"GetOrganizationPaymentMethodForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationPaymentMethodGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetOrganizationPaymentMethodInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationPaymentMethodResponse":{"additionalProperties":false,"properties":{"agreement":{"$ref":"#/components/schemas/BillingAgreement"},"cardOnFile":{"description":"True once a card is captured for the payer.","type":"boolean"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"type":"null"}],"description":"Metadata for the default card, or null."},"purchaseRefusal":{"anyOf":[{"enum":["payment_method_required","billing_not_ready"],"type":"string"},{"type":"null"}],"description":"Why the organization can't pay for a purchase now, or null when it can. payment_method_required: add a card first; an organization that pays by invoice never needs one. billing_not_ready: its billing is still being set up; try again shortly. Decide purchases on this, not on cardOnFile."}},"required":["agreement","cardOnFile","paymentMethod","purchaseRefusal"],"type":"object"},"GetOrganizationResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"GetOrganizationSsoConfigurationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"GetOrganizationSsoConfigurationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"GetOrganizationSsoConfigurationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetOrganizationSsoConfigurationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationSsoConfigurationPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"GetOrganizationTermsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetOrganizationTermsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetOrganizationTermsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetOrganizationTermsResponse":{"additionalProperties":false,"properties":{"subscription":{"anyOf":[{"$ref":"#/components/schemas/OrganizationSubscriptionTerms"},{"type":"null"}],"description":"What one subscription is billed on now. plan is the plan as this subscription has it: its own prices when overridden, each fixed charge at the subscription's price and quantity, and entitlements resolved with overrides. The organization's own subscription, or null when it holds none."},"timeZone":{"description":"The IANA time zone the payer is billed in, e.g. America/Los_Angeles. Billing periods start and end at its midnights, so read their calendar dates in it.","type":"string"}},"required":["subscription","timeZone"],"type":"object"},"GetOrganizationTermsServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetProjectClosureStatusForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetProjectClosureStatusGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetProjectClosureStatusResponse":{"additionalProperties":{},"properties":{"deletionOperationId":{"anyOf":[{"pattern":"^pho_opr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},{"type":"null"}]},"domains":{"items":{"$ref":"#/components/schemas/ProjectClosureDomainStatus"},"type":"array"},"organizationId":{"type":"string"},"projectId":{"type":"string"},"ready":{"type":"boolean"}},"required":["deletionOperationId","domains","organizationId","projectId","ready"],"type":"object"},"GetProjectForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetProjectGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetProjectImessagePlatformForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetProjectImessagePlatformGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetProjectImessagePlatformInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetProjectImessagePlatformServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetProjectWhatsappPlatformForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetProjectWhatsappPlatformGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetProjectWhatsappPlatformInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetProjectWhatsappPlatformServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetResourceForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetResourceGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetResourceInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetServiceIdentityConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"GetServiceIdentityForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetServiceIdentityGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetServiceIdentityM2MConfigurationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"GetServiceIdentityM2MConfigurationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetServiceIdentityM2MConfigurationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetServiceIdentityM2MConfigurationResponse":{"additionalProperties":false,"properties":{"clientId":{"anyOf":[{"maxLength":256,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},{"type":"null"}]},"identityVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"provisioningStatus":{"enum":["not_provisioned","prepared","recovery_required","ready","cleanup_required"],"type":"string"},"serviceIdentityId":{"type":"string"},"syncedVersion":{"anyOf":[{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},{"type":"null"}]},"synchronizationStatus":{"enum":["not_provisioned","pending","synced","unavailable"],"type":"string"}},"required":["clientId","identityVersion","provisioningStatus","serviceIdentityId","syncedVersion","synchronizationStatus"],"type":"object"},"GetServiceIdentityResponse":{"additionalProperties":false,"properties":{"appInstallationManaged":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"organizationId":{"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","disabled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appInstallationManaged","createdAt","createdByAccountId","name","organizationId","permissions","serviceIdentityId","status","updatedAt","updatedByAccountId","version"],"type":"object"},"GetSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetSmsLineCampaignAssignmentConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/SmsLineUnsupportedProblem"},{"$ref":"#/components/schemas/SmsCampaignNotReadyProblem"},{"$ref":"#/components/schemas/SmsCampaignVersionConflictProblem"},{"$ref":"#/components/schemas/SmsCampaignCapacityExceededProblem"},{"$ref":"#/components/schemas/SmsCampaignReconciliationRequiredProblem"},{"$ref":"#/components/schemas/SmsCampaignMutationInProgressProblem"}]},"GetSmsLineCampaignAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"},{"$ref":"#/components/schemas/SmsCampaignOrganizationMismatchProblem"}]},"GetSmsLineCampaignAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetSmsLineCampaignAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetSmsLineCampaignAssignmentNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignNotFoundProblem"},{"$ref":"#/components/schemas/SmsLineNotFoundProblem"}]},"GetSmsLineCampaignAssignmentResponse":{"additionalProperties":{},"properties":{"campaign":{"anyOf":[{"$ref":"#/components/schemas/SmsLineCampaign"},{"type":"null"}]},"eligibility":{"$ref":"#/components/schemas/SmsLineCampaignEligibility"},"reasonCode":{"type":["string","null"]},"resourceId":{"type":"string"},"version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["campaign","eligibility","reasonCode","resourceId","version"],"type":"object"},"GetSmsLineCampaignAssignmentServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignContextUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetSpaceForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetSpaceGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetSpaceInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetSpaceUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"GetSsoSubscriptionConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"GetSsoSubscriptionForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"GetSsoSubscriptionGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetSsoSubscriptionResponse":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"canConfigure":{"type":"boolean"},"cancelsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"currency":{"type":"string"},"currentPeriodEnd":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failureCode":{"type":["string","null"]},"firstChargeAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"interval":{"const":"monthly","type":"string"},"nextRenewalAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"operationId":{"type":["string","null"]},"paymentMethodRequired":{"type":"boolean"},"state":{"enum":["not_subscribed","subscribing","subscribed","cancellation_pending","cancel_scheduled","cancelled","needs_attention"],"type":"string"}},"required":["amount","canConfigure","cancelsAt","currency","currentPeriodEnd","failureCode","firstChargeAt","interval","nextRenewalAt","operationId","paymentMethodRequired","state"],"type":"object"},"GetStatusResponse":{"additionalProperties":false,"properties":{"environment":{"description":"Deployment environment serving the request.","type":"string"},"service":{"description":"Name of the authentication service handling the request.","type":"string"}},"required":["service","environment"],"type":"object"},"GetTenDlcBrandForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetTenDlcBrandGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"GetTenDlcBrandInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetTenDlcBrandOtpForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetTenDlcBrandOtpGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"GetTenDlcBrandOtpInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetTenDlcBrandOtpResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"attemptsRemaining":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"brandId":{"type":"string"},"expiresAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"retryAfterSeconds":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_requested","delivery_pending","sent","verified","expired","failed","locked"],"type":"string"}},"required":["brandId","phoneLast4","status"],"type":"object"}},"required":["data"],"type":"object"},"GetTenDlcBrandOtpServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetTenDlcBrandResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"description":"Whether a PATCH would now be accepted to fix and resubmit a registration that was not accepted.","type":"boolean"},"editableFields":{"description":"The updateMask paths such a PATCH accepts for this profile type. Empty unless canResubmit.","items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"failureReasons":{"description":"Why the registration was not accepted, while the brand is action_required because of it. PATCH the named fields to fix and resubmit in one request. Empty otherwise.","example":[{"fields":["profile.address"],"message":"Street address is not valid"},{"fields":["profile.phone"],"message":"Mobile Phone Number not supported. Must be a Mobile Phone Number that can receive SMS messages."}],"items":{"additionalProperties":false,"properties":{"fields":{"description":"The updateMask paths this reason points at. Empty when it names no single field.","items":{"type":"string"},"type":"array"},"message":{"description":"Why the registration was not accepted.","type":"string"}},"required":["fields","message"],"type":"object"},"type":"array"},"feedback":{"items":{"additionalProperties":false,"properties":{"category":{"enum":["tax_id","nonprofit","other"],"type":"string"},"message":{"type":"string"}},"required":["category","message"],"type":"object"},"type":"array"},"id":{"type":"string"},"profile":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"companyName":{"type":"string"},"displayName":{"type":"string"},"einLast4":{"maxLength":4,"minLength":4,"type":"string"},"email":{"format":"email","type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"organization","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"},"website":{"format":"uri","type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","companyName","einLast4","entityType","type","website"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"displayName":{"type":"string"},"email":{"format":"email","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"sole_proprietor","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","type"],"type":"object"}]},"registeredAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"status":{"enum":["submitting","submitted","action_required","otp_required","verified","vetted_verified","manual_review"],"type":"string"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["capabilities","createdAt","failureReasons","feedback","id","profile","status","updatedAt"],"type":"object"}},"required":["data"],"type":"object"},"GetTenDlcBrandServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetTenDlcCampaignFeesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetTenDlcCampaignFeesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"GetTenDlcCampaignFeesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetTenDlcCampaignFeesResponse":{"additionalProperties":false,"properties":{"campaignMonthly":{"additionalProperties":false,"description":"Billed each month for each campaign, starting when carriers approve it.","properties":{"amount":{"description":"The list price in major units of currency, as a decimal string such as \"20\" or \"15.50\". Tax is not included.","pattern":"^\\d+(\\.\\d+)?$","type":"string"},"currency":{"description":"ISO 4217 currency code, such as USD.","type":"string"},"interval":{"const":"monthly","type":"string"}},"required":["amount","currency","interval"],"type":"object"},"campaignRegistration":{"additionalProperties":false,"description":"Charged when a campaign is registered, and again on every resubmission. Non-refundable.","properties":{"amount":{"description":"The list price in major units of currency, as a decimal string such as \"20\" or \"15.50\". Tax is not included.","pattern":"^\\d+(\\.\\d+)?$","type":"string"},"currency":{"description":"ISO 4217 currency code, such as USD.","type":"string"}},"required":["amount","currency"],"type":"object"}},"required":["campaignMonthly","campaignRegistration"],"type":"object"},"GetTenDlcCampaignFeesServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetTenDlcCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetTenDlcCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"GetTenDlcCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetTenDlcCampaignResponse":{"additionalProperties":false,"properties":{"campaign":{"additionalProperties":false,"properties":{"brandId":{"type":"string"},"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"type":"boolean"},"editableFields":{"items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"currentStep":{"anyOf":[{"enum":["brand_verification","brand_qualification","submission","registration","compliance_review","carrier_processing","carrier_activation","billing_activation"],"type":"string"},{"type":"null"}],"description":"The current or blocked step; null when no active step is known."},"description":{"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"type":"string"},"failureReasons":{"description":"Photon review failure explanations. Empty when none are available for the current attempt.","items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"hasUnsubmittedChanges":{"type":"boolean"},"helpKeywords":{"items":{"type":"string"},"type":"array"},"helpMessage":{"type":"string"},"id":{"type":"string"},"messageFlow":{"type":"string"},"name":{"type":"string"},"optInKeywords":{"items":{"type":"string"},"type":"array"},"optInMessage":{"type":"string"},"optOutKeywords":{"items":{"type":"string"},"type":"array"},"optOutMessage":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"readyAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"reviewRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sampleMessages":{"items":{"type":"string"},"type":"array"},"status":{"description":"Overall campaign state. reviewing means checks are pending; activating means activation is in progress; ready means activation and billing are complete. action_required needs customer corrections; support_required needs support assistance.","enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"},"statusMessage":{"description":"A plain-language explanation of the current campaign state.","type":"string"},"statusReason":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"submittedRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["brandId","capabilities","createdAt","currentStep","description","embeddedLinks","embeddedPhoneNumbers","etag","failureReasons","hasUnsubmittedChanges","helpKeywords","helpMessage","id","messageFlow","name","optInKeywords","optInMessage","optOutKeywords","optOutMessage","privacyPolicyUrl","reviewRevision","revision","sampleMessages","status","statusMessage","submittedRevision","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","updatedAt","useCases"],"type":"object"}},"required":["campaign"],"type":"object"},"GetTenDlcCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"GetUserForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetUserGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"GetUserInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetUserUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"GetVoiceLineProfileAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetVoiceLineProfileAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetVoiceLineProfileAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetWebhookDestinationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWebhookDestinationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetWebhookEventSchemaForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWebhookEventSchemaGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetWhatsappBusinessAccountForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWhatsappBusinessAccountGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetWhatsappBusinessAccountInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetWhatsappBusinessVerificationCodeForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWhatsappBusinessVerificationCodeGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetWhatsappBusinessVerificationCodeInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetWhatsappBusinessVerificationCodeNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/ResourceNotFoundProblem"},{"$ref":"#/components/schemas/WhatsappVerificationCodeNotFoundProblem"}]},"GetWhatsappBusinessVerificationCodeResponse":{"additionalProperties":false,"properties":{"code":{"pattern":"^\\d{6}$","type":"string"},"receivedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["code","receivedAt"],"type":"object"},"GetWhatsappBusinessVerificationCodeUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/WhatsappVerificationWindowExpiredProblem"}]},"GetWhatsappSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWhatsappSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"GetWhatsappSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"GetWhatsappSignupConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"GetWhatsappSignupConfigResponse":{"additionalProperties":false,"properties":{"configId":{"type":"string"},"graphVersion":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"}},"required":["configId","graphVersion","scopes"],"type":"object"},"GroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/GroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"GroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"HttpErrorProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"HTTP_ERROR","status":400,"title":"Request Failed","type":"https://photon.codes/docs/problems/http-error"},"properties":{"code":{"const":"HTTP_ERROR","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Request Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/http-error","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_CONFLICT","status":409,"title":"Idempotency Conflict","type":"https://photon.codes/docs/problems/idempotency-conflict"},"properties":{"code":{"const":"IDEMPOTENCY_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Idempotency Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyKeyInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_KEY_INVALID","status":400,"title":"Idempotency Key Invalid","type":"https://photon.codes/docs/problems/idempotency-key-invalid"},"properties":{"code":{"const":"IDEMPOTENCY_KEY_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Idempotency Key Invalid","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-key-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyKeyRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_KEY_REQUIRED","status":400,"title":"Idempotency Key Required","type":"https://photon.codes/docs/problems/idempotency-key-required"},"properties":{"code":{"const":"IDEMPOTENCY_KEY_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Idempotency Key Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-key-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyKeyReusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_KEY_REUSED","status":422,"title":"Idempotency Key Reused","type":"https://photon.codes/docs/problems/idempotency-key-reused"},"properties":{"code":{"const":"IDEMPOTENCY_KEY_REUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Idempotency Key Reused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-key-reused","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyRequestInProgressProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_REQUEST_IN_PROGRESS","status":409,"title":"Idempotency Request In Progress","type":"https://photon.codes/docs/problems/idempotency-request-in-progress"},"properties":{"code":{"const":"IDEMPOTENCY_REQUEST_IN_PROGRESS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Idempotency Request In Progress","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-request-in-progress","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotencyUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IDEMPOTENCY_UNAVAILABLE","status":503,"title":"Idempotency Unavailable","type":"https://photon.codes/docs/problems/idempotency-unavailable"},"properties":{"code":{"const":"IDEMPOTENCY_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Idempotency Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/idempotency-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"IdempotentReplayedValue":{"enum":["true","false"],"type":"string"},"ImessageContactProfileChangeInProgressProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IMESSAGE_CONTACT_PROFILE_CHANGE_IN_PROGRESS","status":409,"title":"iMessage Contact Profile Change In Progress","type":"https://photon.codes/docs/problems/imessage-contact-profile-change-in-progress"},"properties":{"code":{"const":"IMESSAGE_CONTACT_PROFILE_CHANGE_IN_PROGRESS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"iMessage Contact Profile Change In Progress","type":"string"},"type":{"const":"https://photon.codes/docs/problems/imessage-contact-profile-change-in-progress","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ImessageContactProfileMode":{"enum":["project","custom","none"],"type":"string"},"ImessageContactProfileNotCustomProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IMESSAGE_CONTACT_PROFILE_NOT_CUSTOM","status":409,"title":"iMessage Contact Profile Not Custom","type":"https://photon.codes/docs/problems/imessage-contact-profile-not-custom"},"properties":{"code":{"const":"IMESSAGE_CONTACT_PROFILE_NOT_CUSTOM","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"iMessage Contact Profile Not Custom","type":"string"},"type":{"const":"https://photon.codes/docs/problems/imessage-contact-profile-not-custom","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ImessageContactProfilePending":{"additionalProperties":false,"properties":{"status":{"const":"pending","type":"string"}},"required":["status"],"type":"object"},"ImessageContactProfilePictureInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IMESSAGE_CONTACT_PROFILE_PICTURE_INVALID","status":422,"title":"iMessage Contact Profile Picture Invalid","type":"https://photon.codes/docs/problems/imessage-contact-profile-picture-invalid"},"properties":{"code":{"const":"IMESSAGE_CONTACT_PROFILE_PICTURE_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"iMessage Contact Profile Picture Invalid","type":"string"},"type":{"const":"https://photon.codes/docs/problems/imessage-contact-profile-picture-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ImessageContactProfilePictureUpload":{"additionalProperties":false,"properties":{"expiresAt":{"example":"2030-01-01T00:10:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"formFields":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"uploadId":{"type":"string"},"uploadUrl":{"format":"uri","type":"string"}},"required":["expiresAt","formFields","uploadId","uploadUrl"],"type":"object"},"ImessageContactProfileVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IMESSAGE_CONTACT_PROFILE_VERSION_CONFLICT","status":409,"title":"iMessage Contact Profile Version Conflict","type":"https://photon.codes/docs/problems/imessage-contact-profile-version-conflict"},"properties":{"code":{"const":"IMESSAGE_CONTACT_PROFILE_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"iMessage Contact Profile Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/imessage-contact-profile-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ImessageGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/ImessageGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"ImessageGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"ImessageHandle":{"anyOf":[{"pattern":"^\\+[1-9]\\d{1,14}$","type":"string"},{"format":"email","maxLength":254,"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,}$","type":"string"}]},"ImessageLineContactProfile":{"additionalProperties":false,"properties":{"mode":{"$ref":"#/components/schemas/ImessageContactProfileMode"},"resolvedProfile":{"anyOf":[{"additionalProperties":false,"properties":{"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"pictureUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]}},"required":["firstName","lastName","pictureUrl"],"type":"object"},{"type":"null"}]},"resourceVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["mode","resolvedProfile","resourceVersion"],"type":"object"},"ImessageMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedImessageMessage"},{"$ref":"#/components/schemas/DispatchedImessageMessage"},{"$ref":"#/components/schemas/AcceptedImessageMessage"},{"$ref":"#/components/schemas/DeliveredImessageMessage"},{"$ref":"#/components/schemas/FailedImessageMessage"}]},"ImessageMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"imessage","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/ImessageGroupContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"ImessageMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"imessage","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"imessage","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"imessage","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"imessage","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageModeDedicatedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"IMESSAGE_MODE_DEDICATED","status":409,"title":"iMessage Mode Is Dedicated","type":"https://photon.codes/docs/problems/imessage-mode-dedicated"},"properties":{"code":{"const":"IMESSAGE_MODE_DEDICATED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"iMessage Mode Is Dedicated","type":"string"},"type":{"const":"https://photon.codes/docs/problems/imessage-mode-dedicated","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ImessagePlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessagePlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessagePlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"imessage","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"imessage","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"imessage","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"imessage","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/ImessageSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"ImessageSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"ImessageSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/ImessageSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"ImessageSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/ImessageSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"imessage.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"ImessageSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"imessage","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"ImessageUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/ImessageUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"ImessageUserDetails":{"additionalProperties":false,"properties":{"managedBy":{"$ref":"#/components/schemas/ManagerId"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"type":{"$ref":"#/components/schemas/UserLineType"}},"type":"object"},"ImessageUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/ImessageUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"InsufficientScopeProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INSUFFICIENT_SCOPE","status":403,"title":"Insufficient Scope","type":"https://photon.codes/docs/problems/insufficient-scope"},"properties":{"code":{"const":"INSUFFICIENT_SCOPE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Insufficient Scope","type":"string"},"type":{"const":"https://photon.codes/docs/problems/insufficient-scope","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InternalErrorProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INTERNAL_ERROR","status":500,"title":"Internal Server Error","type":"https://photon.codes/docs/problems/internal-error"},"properties":{"code":{"const":"INTERNAL_ERROR","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":500,"type":"number"},"title":{"const":"Internal Server Error","type":"string"},"type":{"const":"https://photon.codes/docs/problems/internal-error","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidApiVersionProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"INVALID_API_VERSION","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"supportedVersions":{"items":{"type":"string"},"type":"array"},"title":{"const":"Invalid API Version","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-api-version","type":"string"}},"required":["supportedVersions","code","status","title","type"],"type":"object"},"InvalidArgumentProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_ARGUMENT","status":400,"title":"Invalid Argument","type":"https://photon.codes/docs/problems/invalid-argument"},"properties":{"code":{"const":"INVALID_ARGUMENT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Argument","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-argument","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidAttachmentRequestProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_ATTACHMENT_REQUEST","status":400,"title":"Invalid Attachment Request","type":"https://photon.codes/docs/problems/invalid-attachment-request"},"properties":{"code":{"const":"INVALID_ATTACHMENT_REQUEST","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Attachment Request","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-attachment-request","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidAuthContextProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_AUTH_CONTEXT","status":500,"title":"Invalid Authentication Context","type":"https://photon.codes/docs/problems/invalid-auth-context"},"properties":{"code":{"const":"INVALID_AUTH_CONTEXT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":500,"type":"number"},"title":{"const":"Invalid Authentication Context","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-auth-context","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidCampaignStateProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_CAMPAIGN_STATE","status":409,"title":"Invalid Campaign State","type":"https://photon.codes/docs/problems/invalid-campaign-state"},"properties":{"code":{"const":"INVALID_CAMPAIGN_STATE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invalid Campaign State","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-campaign-state","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidContentProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_CONTENT","issues":[{"code":"markdown_html_forbidden","location":"json","message":"HTML is not allowed in Markdown content.","path":"/https/api.photon.codes/content/text"}],"status":422,"title":"Invalid Content","type":"https://photon.codes/docs/problems/invalid-content"},"properties":{"code":{"const":"INVALID_CONTENT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"issues":{"items":{"$ref":"#/components/schemas/ContentIssue"},"maxItems":32,"minItems":1,"type":"array"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Invalid Content","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-content","type":"string"}},"required":["issues","code","status","title","type"],"type":"object"},"InvalidLifecycleStateProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_LIFECYCLE_STATE","status":409,"title":"Invalid Lifecycle State","type":"https://photon.codes/docs/problems/invalid-lifecycle-state"},"properties":{"code":{"const":"INVALID_LIFECYCLE_STATE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invalid Lifecycle State","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-lifecycle-state","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidPageTokenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_PAGE_TOKEN","status":400,"title":"Invalid Page Token","type":"https://photon.codes/docs/problems/invalid-page-token"},"properties":{"code":{"const":"INVALID_PAGE_TOKEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Page Token","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-page-token","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidParameterProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_PARAMETER","status":400,"title":"Invalid Developer OTel Query Parameter","type":"https://photon.codes/docs/problems/developer-otel-invalid-parameter"},"properties":{"code":{"const":"INVALID_PARAMETER","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Developer OTel Query Parameter","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-invalid-parameter","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidQueryProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_QUERY","status":400,"title":"Invalid Developer OTel Query","type":"https://photon.codes/docs/problems/developer-otel-invalid-query"},"properties":{"code":{"const":"INVALID_QUERY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Developer OTel Query","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-invalid-query","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidRequestProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_REQUEST","status":400,"title":"Invalid Request","type":"https://photon.codes/docs/problems/invalid-request"},"properties":{"code":{"const":"INVALID_REQUEST","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Request","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-request","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvalidReturnToProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVALID_RETURN_TO","status":400,"title":"Invalid Return To","type":"https://photon.codes/docs/problems/invalid-return-to"},"properties":{"code":{"const":"INVALID_RETURN_TO","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid Return To","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invalid-return-to","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationEmailMismatchProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_EMAIL_MISMATCH","status":403,"title":"Invitation Email Mismatch","type":"https://photon.codes/docs/problems/invitation-email-mismatch"},"properties":{"code":{"const":"INVITATION_EMAIL_MISMATCH","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Invitation Email Mismatch","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-email-mismatch","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationEnterpriseLoginRequest":{"additionalProperties":false,"properties":{"invitationToken":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"},"returnTo":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["invitationToken","returnTo"],"type":"object"},"InvitationExpiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_EXPIRED","status":409,"title":"Invitation Expired","type":"https://photon.codes/docs/problems/invitation-expired"},"properties":{"code":{"const":"INVITATION_EXPIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invitation Expired","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-expired","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationInviterIneligibleProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_INVITER_INELIGIBLE","status":403,"title":"Invitation Inviter Ineligible","type":"https://photon.codes/docs/problems/invitation-inviter-ineligible"},"properties":{"code":{"const":"INVITATION_INVITER_INELIGIBLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Invitation Inviter Ineligible","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-inviter-ineligible","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_NOT_FOUND","status":404,"title":"Invitation Not Found","type":"https://photon.codes/docs/problems/invitation-not-found"},"properties":{"code":{"const":"INVITATION_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Invitation Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationPredatesRemovalProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_PREDATES_REMOVAL","status":409,"title":"Invitation Predates Removal","type":"https://photon.codes/docs/problems/invitation-predates-removal"},"properties":{"code":{"const":"INVITATION_PREDATES_REMOVAL","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invitation Predates Removal","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-predates-removal","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationRevokedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_REVOKED","status":409,"title":"Invitation Revoked","type":"https://photon.codes/docs/problems/invitation-revoked"},"properties":{"code":{"const":"INVITATION_REVOKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invitation Revoked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-revoked","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationRoleConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_ROLE_CONFLICT","status":409,"title":"Invitation Role Conflict","type":"https://photon.codes/docs/problems/invitation-role-conflict"},"properties":{"code":{"const":"INVITATION_ROLE_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invitation Role Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-role-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvitationTerminalProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVITATION_TERMINAL","status":409,"title":"Invitation Terminal","type":"https://photon.codes/docs/problems/invitation-terminal"},"properties":{"code":{"const":"INVITATION_TERMINAL","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Invitation Terminal","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invitation-terminal","type":"string"}},"required":["code","status","title","type"],"type":"object"},"Invoice":{"additionalProperties":false,"properties":{"amountDueCents":{"description":"What is left to pay, in cents, after partial payments and credit.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currency":{"description":"ISO currency code.","type":"string"},"invoiceId":{"description":"Invoice id.","type":"string"},"issuedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Issue date, ISO 8601."},"kind":{"$ref":"#/components/schemas/InvoiceKind"},"number":{"description":"Human invoice number.","type":"string"},"pageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The invoice's page, which opens without signing in, to view and pay it. Only for an organization paying by invoice, from when the invoice is finalized."},"paymentActionRequired":{"description":"Its payment waits on the customer's authentication (3DS). Pay the invoice to complete it.","type":"boolean"},"paymentDueAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When payment is due, ISO 8601."},"paymentOverdue":{"description":"Unpaid past its due date. Overdue invoices set the organization's dunning stage.","type":"boolean"},"paymentProcessing":{"description":"An ACH debit is paying it and hasn't settled yet. It is not overdue meanwhile.","type":"boolean"},"paymentStatus":{"$ref":"#/components/schemas/InvoicePaymentStatus"},"pdfUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The invoice's PDF, once generated. Download it with the credentials that listed it."},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"subjects":{"description":"Every billing subject on the invoice, deduplicated, including one it charged nothing. Empty when none is known.","items":{"$ref":"#/components/schemas/InvoiceSubject"},"type":"array"},"totalCents":{"description":"Invoice total in cents.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["amountDueCents","currency","invoiceId","issuedAt","kind","number","pageUrl","paymentActionRequired","paymentDueAt","paymentOverdue","paymentProcessing","paymentStatus","pdfUrl","status","subjects","totalCents"],"type":"object"},"InvoiceKind":{"description":"What produced the invoice.","enum":["subscription","one_off","credit"],"type":"string"},"InvoiceNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"INVOICE_NOT_FOUND","status":404,"title":"Invoice Not Found","type":"https://photon.codes/docs/problems/invoice-not-found"},"properties":{"code":{"const":"INVOICE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Invoice Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/invoice-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"InvoicePaymentStatus":{"description":"Provider-neutral payment status.","enum":["pending","succeeded","failed"],"type":"string"},"InvoiceStatus":{"description":"Where the invoice is in its lifecycle, apart from its payment: draft while it can still change, finalized once issued, voided when cancelled after, and pending or failed while its taxes are still being computed.","enum":["draft","finalized","voided","pending","failed"],"type":"string"},"InvoiceSubject":{"oneOf":[{"$ref":"#/components/schemas/ProjectInvoiceSubject"},{"$ref":"#/components/schemas/OrganizationInvoiceSubject"}]},"IssueAppInstallationDeliveryCodeForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"IssueAppInstallationDeliveryCodeRequest":{"additionalProperties":false,"properties":{"expectedInstallationVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"requestId":{"type":"string"}},"required":["expectedInstallationVersion","requestId"],"type":"object"},"IssueAppInstallationDeliveryCodeResponse":{"oneOf":[{"additionalProperties":false,"properties":{"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"installationId":{"type":"string"},"issued":{"const":true,"type":"boolean"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"redirectUrl":{"format":"uri","type":"string"}},"required":["expiresAt","installationId","issued","operationId","redirectUrl"],"type":"object"},{"additionalProperties":false,"properties":{"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"installationId":{"type":"string"},"issued":{"const":false,"type":"boolean"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"}},"required":["expiresAt","installationId","issued","operationId"],"type":"object"}]},"JsonValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"}]},"LeaveOrganizationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"LeaveOrganizationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationTransferToSelfProblem"},{"$ref":"#/components/schemas/OrganizationOwnerInvariantProblem"},{"$ref":"#/components/schemas/OrganizationOwnerProtectedProblem"},{"$ref":"#/components/schemas/OrganizationSelfManagementForbiddenProblem"},{"$ref":"#/components/schemas/OrganizationMembershipVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationMemberRemovedProblem"},{"$ref":"#/components/schemas/OrganizationRecoveryRequiredProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"LeaveOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"LeaveOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"LeaveOrganizationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"LeaveOrganizationResponse":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version"],"type":"object"},"LeaveOrganizationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ListAccountServiceKeysForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListAccountServiceKeysGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListAccountServiceKeysGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"ListAccountServiceKeysInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListAccountServiceKeysResponse":{"additionalProperties":false,"properties":{"serviceKeys":{"items":{"$ref":"#/components/schemas/AccountServiceKey"},"type":"array"}},"required":["serviceKeys"],"type":"object"},"ListAppInstallationConfigsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"ListAppInstallationConfigsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListAppInstallationConfigsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListAppInstallationConfigsResponse":{"additionalProperties":false,"properties":{"configs":{"items":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"type":"array"}},"required":["configs"],"type":"object"},"ListAppInstallationsBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"ListAppInstallationsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"ListAppInstallationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListAppInstallationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListAppInstallationsNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"ListAppInstallationsResponse":{"additionalProperties":false,"properties":{"installations":{"items":{"additionalProperties":false,"properties":{"app":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","description","name","requestedPermissions","status","version","websiteUrl","eventSubscription"],"type":"object"},"developerOrganizationName":{"maxLength":256,"minLength":1,"type":"string"},"installation":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"setup":{"anyOf":[{"additionalProperties":false,"properties":{"requestId":{"type":"string"},"state":{"enum":["preparing","ready","collected","failed"],"type":"string"}},"required":["state"],"type":"object"},{"type":"null"}]},"updateAvailable":{"type":"boolean"}},"required":["app","developerOrganizationName","installation","setup"],"type":"object"},"type":"array"}},"required":["installations"],"type":"object"},"ListAttachmentsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListAttachmentsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListAttachmentsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListAuthorizedApplicationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"ListAuthorizedApplicationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListAuthorizedApplicationsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListAuthorizedApplicationsOrder":{"enum":["normal","desc","asc"],"type":"string"},"ListAuthorizedApplicationsResponse":{"additionalProperties":{},"properties":{"authorizedApplications":{"description":"One page of applications authorized by the authenticated user.","items":{"$ref":"#/components/schemas/AuthorizedApplication"},"type":"array"},"listMetadata":{"$ref":"#/components/schemas/ListAuthorizedApplicationsResponseListMetadata"}},"required":["authorizedApplications","listMetadata"],"type":"object"},"ListAuthorizedApplicationsResponseListMetadata":{"additionalProperties":{},"description":"Pagination cursors to pass as after or before in the next list request.","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page, or null when there is no next page."},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the previous page, or null when there is no previous page."}},"required":["after","before"],"type":"object"},"ListBillingPlansForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListBillingPlansGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListBillingPlansInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListBillingPlansResponse":{"additionalProperties":false,"properties":{"plans":{"additionalProperties":{"items":{"$ref":"#/components/schemas/BillingPlan"},"type":"array"},"description":"Plans grouped by valid metadata type and explicitly published with visible=\"true\". Each group is in display order: by tier, plans without one last, then by planCode.","propertyNames":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"type":"object"}},"required":["plans"],"type":"object"},"ListCreditActivityForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListCreditActivityGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListCreditActivityInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListCreditActivityResponse":{"additionalProperties":false,"properties":{"entries":{"description":"Newest first.","items":{"$ref":"#/components/schemas/CreditActivity"},"type":"array"},"nextPage":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"Pass as page to read the next page. Null on the last page."}},"required":["entries","nextPage"],"type":"object"},"ListDeveloperOtelLogsBadGatewayProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamFailureProblem"},{"$ref":"#/components/schemas/ExecutionFailedProblem"}]},"ListDeveloperOtelLogsBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidQueryProblem"},{"$ref":"#/components/schemas/ForbiddenSqlProblem"},{"$ref":"#/components/schemas/InvalidParameterProblem"}]},"ListDeveloperOtelLogsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListDeveloperOtelLogsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/TimeoutProblem"}]},"ListDeveloperOtelLogsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListDeveloperOtelLogsResponse":{"additionalProperties":false,"properties":{"logs":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"body":{"type":"string"},"eventName":{"type":"string"},"resource":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"}},"required":["attributes"],"type":"object"},"scope":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"name":{"type":"string"},"version":{"type":"string"}},"required":["name"],"type":"object"},"serviceName":{"type":"string"},"severityNumber":{"maximum":24,"minimum":0,"type":"integer"},"severityText":{"type":"string"},"spanId":{"type":"string"},"timestamp":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"traceFlags":{"maximum":255,"minimum":0,"type":"integer"},"traceId":{"type":"string"}},"required":["attributes","body","eventName","resource","scope","serviceName","severityNumber","severityText","spanId","timestamp","traceFlags","traceId"],"type":"object"},"type":"array"}},"required":["logs"],"type":"object"},"ListDeveloperOtelLogsUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/ResourceLimitProblem"}]},"ListDeveloperTracesBadGatewayProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamFailureProblem"},{"$ref":"#/components/schemas/ExecutionFailedProblem"}]},"ListDeveloperTracesBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidQueryProblem"},{"$ref":"#/components/schemas/ForbiddenSqlProblem"},{"$ref":"#/components/schemas/InvalidParameterProblem"}]},"ListDeveloperTracesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListDeveloperTracesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/TimeoutProblem"}]},"ListDeveloperTracesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListDeveloperTracesResponse":{"additionalProperties":false,"properties":{"traces":{"items":{"additionalProperties":false,"properties":{"rootSpan":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"droppedEventsCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"droppedLinksCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"endTimeUnixNano":{"pattern":"^[0-9]+$","type":"string"},"events":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"timeUnixNano":{"pattern":"^[0-9]+$","type":"string"}},"required":["attributes","name","timeUnixNano"],"type":"object"},"type":"array"},"flags":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"links":{"items":{"additionalProperties":false,"properties":{"attributes":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"},"droppedAttributesCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"flags":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"spanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"traceId":{"maxLength":32,"minLength":32,"pattern":"^[0-9a-f]+$","type":"string"},"traceState":{"type":"string"}},"required":["attributes","spanId","traceId"],"type":"object"},"type":"array"},"name":{"type":"string"},"parentSpanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"spanId":{"maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","type":"string"},"startTimeUnixNano":{"pattern":"^[0-9]+$","type":"string"},"status":{"additionalProperties":false,"properties":{"code":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"message":{"type":"string"}},"required":["code"],"type":"object"},"traceId":{"maxLength":32,"minLength":32,"pattern":"^[0-9a-f]+$","type":"string"},"traceState":{"type":"string"}},"required":["attributes","endTimeUnixNano","events","kind","links","name","spanId","startTimeUnixNano","traceId"],"type":"object"},"traceId":{"maxLength":32,"minLength":32,"pattern":"^[0-9a-f]+$","type":"string"}},"required":["rootSpan","traceId"],"type":"object"},"type":"array"}},"required":["traces"],"type":"object"},"ListDeveloperTracesUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/ResourceLimitProblem"}]},"ListEmailRecommendationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListEmailRecommendationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListEmailRecommendationsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListFilteredVerificationCodesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListFilteredVerificationCodesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListFilteredVerificationCodesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListInvoicesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListInvoicesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListInvoicesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListInvoicesResponse":{"additionalProperties":false,"properties":{"invoices":{"items":{"$ref":"#/components/schemas/Invoice"},"type":"array"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pass as cursor to read the next page. Null on the last page."}},"required":["invoices","nextCursor"],"type":"object"},"ListMessagesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListMessagesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListMessagesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListNumberAreaCodesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListNumberAreaCodesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListNumberAreaCodesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListNumberAreaCodesResponse":{"additionalProperties":false,"properties":{"areaCodes":{"items":{"pattern":"^[2-9][0-9]{2}$","type":"string"},"type":"array"},"countryCode":{"const":"US","type":"string"}},"required":["areaCodes","countryCode"],"type":"object"},"ListNumberCountriesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListNumberCountriesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListNumberCountriesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListNumberCountriesResponse":{"additionalProperties":false,"properties":{"countries":{"items":{"$ref":"#/components/schemas/NumberCountry"},"type":"array"}},"required":["countries"],"type":"object"},"ListOauthScopesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListOauthScopesResponse":{"additionalProperties":{},"properties":{"scopes":{"description":"Business permissions an OAuth application can be configured with. Client creation and scope updates accept only these values. OIDC protocol scopes (openid, profile, email, offline_access) are not included.","items":{"description":"OAuth business permission slug.","type":"string"},"type":"array"}},"required":["scopes"],"type":"object"},"ListOperationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListOperationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListOperationsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListOrganizationInvitationsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"ListOrganizationInvitationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListOrganizationInvitationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListOrganizationInvitationsResponse":{"additionalProperties":false,"properties":{"invitations":{"items":{"additionalProperties":false,"properties":{"acceptedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"acceptedByAccountId":{"type":["string","null"]},"allProjects":{"const":true,"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"invitationId":{"type":"string"},"invitedByAccountId":{"type":"string"},"organizationId":{"type":"string"},"role":{"enum":["member","viewer"],"type":"string"},"status":{"enum":["pending","accepted","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["acceptedAt","acceptedByAccountId","allProjects","createdAt","email","expiresAt","invitationId","invitedByAccountId","organizationId","role","status","updatedAt"],"type":"object"},"type":"array"}},"required":["invitations"],"type":"object"},"ListOrganizationMembersConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationTransferToSelfProblem"},{"$ref":"#/components/schemas/OrganizationOwnerInvariantProblem"},{"$ref":"#/components/schemas/OrganizationOwnerProtectedProblem"},{"$ref":"#/components/schemas/OrganizationSelfManagementForbiddenProblem"},{"$ref":"#/components/schemas/OrganizationMembershipVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationMemberRemovedProblem"},{"$ref":"#/components/schemas/OrganizationRecoveryRequiredProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"ListOrganizationMembersForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListOrganizationMembersGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListOrganizationMembersResponse":{"additionalProperties":false,"properties":{"members":{"items":{"additionalProperties":false,"properties":{"account":{"anyOf":[{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"email":{"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,}$","type":"string"},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"pictureUrl":{"format":"uri","type":"string"}},"required":["displayName","email","firstName","lastName","pictureUrl"],"type":"object"},{"type":"null"}]},"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version","account"],"type":"object"},"type":"array"}},"required":["members"],"type":"object"},"ListOrganizationOauthClientsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListOrganizationOauthClientsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListOrganizationOauthClientsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListOrganizationOauthClientsResponse":{"additionalProperties":false,"properties":{"oauthClients":{"items":{"additionalProperties":false,"properties":{"clientId":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"description":{"type":["string","null"]},"name":{"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"type":"string"}},"required":["default","uri"],"type":"object"},"type":"array"},"scopes":{"items":{"type":"string"},"type":"array"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["clientId","createdAt","description","name","redirectUris","scopes","updatedAt"],"type":"object"},"type":"array"}},"required":["oauthClients"],"type":"object"},"ListOrganizationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListOrganizationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListOrganizationsResponse":{"additionalProperties":false,"properties":{"acquisitionQuestionnaireExempt":{"description":"An active invitation membership exempts acquisition questions; not CRM completion or phone verification.","type":"boolean"},"organizations":{"items":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"type":"array"},"ownedOrganizationIds":{"description":"Listed organizations where the caller is the Owner.","items":{"type":"string"},"type":"array"}},"required":["acquisitionQuestionnaireExempt","organizations","ownedOrganizationIds"],"type":"object"},"ListPaymentActionsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListPaymentActionsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListPaymentActionsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListPaymentActionsResponse":{"additionalProperties":false,"properties":{"paymentActions":{"description":"Newest first. Empty when nothing waits on the customer.","items":{"$ref":"#/components/schemas/BillingPaymentAction"},"type":"array"}},"required":["paymentActions"],"type":"object"},"ListProjectApiKeysForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListProjectApiKeysResponse":{"additionalProperties":false,"properties":{"apiKeys":{"items":{"$ref":"#/components/schemas/ApiKey"},"type":"array"}},"required":["apiKeys"],"type":"object"},"ListProjectPlatformsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListProjectPlatformsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListProjectPlatformsResponse":{"additionalProperties":false,"properties":{"platforms":{"items":{"$ref":"#/components/schemas/SupportedPlatform"},"type":"array"}},"required":["platforms"],"type":"object"},"ListProjectSubscriptionsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListProjectSubscriptionsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListProjectSubscriptionsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListProjectSubscriptionsResponse":{"additionalProperties":false,"properties":{"subscriptions":{"description":"One entry per category that currently holds a subscription. Empty means none do — cancelled, or never opened.","items":{"$ref":"#/components/schemas/ProjectHeldPlan"},"type":"array"}},"required":["subscriptions"],"type":"object"},"ListProjectsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListProjectsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListResourceFilteredVerificationCodesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListResourceFilteredVerificationCodesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListResourceFilteredVerificationCodesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListResourcesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListResourcesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListResourcesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListServiceIdentitiesConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"ListServiceIdentitiesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListServiceIdentitiesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListServiceIdentitiesResponse":{"additionalProperties":false,"properties":{"serviceIdentities":{"items":{"additionalProperties":false,"properties":{"appInstallationManaged":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"organizationId":{"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","disabled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appInstallationManaged","createdAt","createdByAccountId","name","organizationId","permissions","serviceIdentityId","status","updatedAt","updatedByAccountId","version"],"type":"object"},"type":"array"}},"required":["serviceIdentities"],"type":"object"},"ListServiceIdentityCredentialsBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ListServiceIdentityCredentialsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceCredentialConflictProblem"}]},"ListServiceIdentityCredentialsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListServiceIdentityCredentialsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListServiceIdentityCredentialsResponse":{"additionalProperties":false,"properties":{"credentials":{"items":{"additionalProperties":false,"properties":{"bound":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"creationStartedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"deliveryConsumedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"expiresAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"hint":{"type":["string","null"]},"kind":{"enum":["api_key","client_secret"],"type":"string"},"label":{"type":"string"},"providerCleanupCompletedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"revocationRequestedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["bound","createdAt","creationStartedAt","credentialId","deliveryConsumedAt","expiresAt","hint","kind","label","providerCleanupCompletedAt","revocationRequestedAt","serviceIdentityId","status","updatedAt","version"],"type":"object"},"type":"array"}},"required":["credentials"],"type":"object"},"ListServiceIdentityCredentialsUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ListServiceIdentityPermissionsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"ListServiceIdentityPermissionsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListServiceIdentityPermissionsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListServiceIdentityPermissionsResponse":{"additionalProperties":false,"properties":{"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["permissions"],"type":"object"},"ListSharedLineAssignmentsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListSharedLineAssignmentsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListSharedLineAssignmentsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListSpacesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListSpacesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListSpacesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListTenDlcBrandsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListTenDlcBrandsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"ListTenDlcBrandsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListTenDlcBrandsResponse":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"displayName":{"type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"id":{"type":"string"},"status":{"enum":["submitting","submitted","action_required","otp_required","verified","vetted_verified","manual_review"],"type":"string"},"type":{"enum":["organization","sole_proprietor"],"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["createdAt","displayName","id","status","type","updatedAt"],"type":"object"},"type":"array"},"page":{"additionalProperties":false,"properties":{"nextCursor":{"type":"string"}},"type":"object"}},"required":["data","page"],"type":"object"},"ListTenDlcBrandsServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ListTenDlcCampaignReviewHistoryForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListTenDlcCampaignReviewHistoryGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"ListTenDlcCampaignReviewHistoryInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListTenDlcCampaignReviewHistoryResponse":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"attemptNumber":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}],"description":"The local submission or resubmission attempt associated with this observation; null when unknown."},"failureReasons":{"items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"id":{"type":"string"},"occurredAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}],"description":"When the event occurred, if reported; null when the original event time is unknown."},"recordedAt":{"description":"When Photon recorded this observation.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"result":{"description":"The result of this individual step, not overall campaign approval.","enum":["pending","succeeded","failed"],"type":"string"},"step":{"description":"The individual step observed in this history entry.","enum":["registration","compliance_review","carrier_processing","carrier_activation"],"type":"string"},"title":{"description":"A description of this specific milestone.","type":"string"}},"required":["attemptNumber","failureReasons","id","occurredAt","recordedAt","result","step","title"],"type":"object"},"type":"array"},"nextPageToken":{"type":"string"}},"required":["items"],"type":"object"},"ListTenDlcCampaignReviewHistoryServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ListTenDlcCampaignUseCasesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListTenDlcCampaignUseCasesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"ListTenDlcCampaignUseCasesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListTenDlcCampaignUseCasesResponse":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"}},"required":["code","description","displayName"],"type":"object"},"type":"array"},"maximumUseCases":{"const":5,"type":"number"},"minimumUseCases":{"const":1,"type":"number"}},"required":["items","maximumUseCases","minimumUseCases"],"type":"object"},"ListTenDlcCampaignUseCasesServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ListTenDlcCampaignsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListTenDlcCampaignsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"ListTenDlcCampaignsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListTenDlcCampaignsResponse":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"brandId":{"type":"string"},"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"type":"boolean"},"editableFields":{"items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"currentStep":{"anyOf":[{"enum":["brand_verification","brand_qualification","submission","registration","compliance_review","carrier_processing","carrier_activation","billing_activation"],"type":"string"},{"type":"null"}],"description":"The current or blocked step; null when no active step is known."},"description":{"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"type":"string"},"failureReasons":{"description":"Photon review failure explanations. Empty when none are available for the current attempt.","items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"hasUnsubmittedChanges":{"type":"boolean"},"helpKeywords":{"items":{"type":"string"},"type":"array"},"helpMessage":{"type":"string"},"id":{"type":"string"},"messageFlow":{"type":"string"},"name":{"type":"string"},"optInKeywords":{"items":{"type":"string"},"type":"array"},"optInMessage":{"type":"string"},"optOutKeywords":{"items":{"type":"string"},"type":"array"},"optOutMessage":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"readyAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"reviewRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sampleMessages":{"items":{"type":"string"},"type":"array"},"status":{"description":"Overall campaign state. reviewing means checks are pending; activating means activation is in progress; ready means activation and billing are complete. action_required needs customer corrections; support_required needs support assistance.","enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"},"statusMessage":{"description":"A plain-language explanation of the current campaign state.","type":"string"},"statusReason":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"submittedRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["brandId","capabilities","createdAt","currentStep","description","embeddedLinks","embeddedPhoneNumbers","etag","failureReasons","hasUnsubmittedChanges","helpKeywords","helpMessage","id","messageFlow","name","optInKeywords","optInMessage","optOutKeywords","optOutMessage","privacyPolicyUrl","reviewRevision","revision","sampleMessages","status","statusMessage","submittedRevision","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","updatedAt","useCases"],"type":"object"},"type":"array"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["items","nextCursor"],"type":"object"},"ListTenDlcCampaignsServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ListUsersForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListUsersGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ListUsersInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListVoiceProfilesDefaultInput":{"enum":["true","false"],"type":"string"},"ListVoiceProfilesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListVoiceProfilesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListVoiceProfilesInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListWebhookApiVersionsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWebhookApiVersionsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListWebhookApiVersionsResponse":{"additionalProperties":false,"properties":{"apiVersions":{"items":{"$ref":"#/components/schemas/WebhookApiVersion"},"type":"array"},"contractNamespace":{"const":"@photon-hq/contracts","type":"string"},"packageVersion":{"minLength":1,"type":"string"}},"required":["contractNamespace","packageVersion","apiVersions"],"type":"object"},"ListWebhookDestinationsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWebhookDestinationsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListWebhookEgressAddressesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWebhookEgressAddressesResponse":{"additionalProperties":false,"properties":{"ipAddresses":{"description":"Every public IPv4 address webhook deliveries can originate from. Allow-list all of them; deliveries are spread across every address.","items":{"$ref":"#/components/schemas/WebhookEgressAddress"},"minItems":1,"type":"array","uniqueItems":true}},"required":["ipAddresses"],"type":"object"},"ListWebhookEventTypesForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWebhookEventTypesGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListWebhookEventTypesResponse":{"oneOf":[{"$ref":"#/components/schemas/SelectableWebhookEventCatalog"},{"$ref":"#/components/schemas/DeprecatedWebhookEventCatalog"}]},"ListWhatsappAccountPhoneNumbersForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWhatsappAccountPhoneNumbersGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListWhatsappAccountPhoneNumbersInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ListWhatsappAccountPhoneNumbersResponse":{"additionalProperties":false,"properties":{"phoneNumbers":{"items":{"$ref":"#/components/schemas/WhatsappAccountPhoneNumber"},"type":"array"},"wabaId":{"minLength":1,"type":"string"}},"required":["phoneNumbers","wabaId"],"type":"object"},"ListWhatsappSharedLineAssignmentsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ListWhatsappSharedLineAssignmentsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ListWhatsappSharedLineAssignmentsInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ManagerId":{"pattern":"^pho_mgr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"MarkMessageReadConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/SenderNotSendableProblem"},{"$ref":"#/components/schemas/SpaceNotSendableProblem"},{"$ref":"#/components/schemas/MessageNotReadableProblem"}]},"MarkMessageReadForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"MarkMessageReadGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"MarkMessageReadInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"MarkMessageReadNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SenderNotFoundProblem"},{"$ref":"#/components/schemas/SpaceNotFoundProblem"},{"$ref":"#/components/schemas/MessageNotFoundProblem"}]},"MarkMessageReadResponse":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/SupportedPlatformConstraint"},{"$ref":"#/components/schemas/SentMessageConstraint"}],"example":{"content":{"type":"message.read"},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"parentMessageId":"pho_msg_00000000000000000000000002","platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}},"MarkMessageReadUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"Message":{"anyOf":[{"$ref":"#/components/schemas/SmsMessage"},{"$ref":"#/components/schemas/WhatsappMessage"},{"$ref":"#/components/schemas/WhatsappBusinessMessage"},{"$ref":"#/components/schemas/EmailMessage"},{"$ref":"#/components/schemas/ImessageMessage"},{"$ref":"#/components/schemas/TelegramMessage"}],"x-photon-extension":{"discriminator":"platform","fallback":"#/$defs/UnknownMessage","reserved":["sms","whatsapp","whatsapp_business","email","voice","imessage","telegram"]}},"MessageAcceptance":{"oneOf":[{"$ref":"#/components/schemas/DeliveryConfirmationUnavailableAcceptance"},{"$ref":"#/components/schemas/DeliveryConfirmationNotApplicableAcceptance"},{"$ref":"#/components/schemas/DeliveryConfirmationTimedOutAcceptance"},{"$ref":"#/components/schemas/DeliveryPartiallyConfirmedAcceptance"}]},"MessageAcceptedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsMessageAcceptedEvent"},{"$ref":"#/components/schemas/WhatsappMessageAcceptedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessMessageAcceptedEvent"},{"$ref":"#/components/schemas/EmailMessageAcceptedEvent"},{"$ref":"#/components/schemas/ImessageMessageAcceptedEvent"},{"$ref":"#/components/schemas/TelegramMessageAcceptedEvent"}]},"MessageBlockedByCarrierFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_blocked_by_carrier","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageBlockedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_blocked","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageContent":{"additionalProperties":false,"properties":{"message":{"$ref":"#/components/schemas/Message"},"type":{"const":"message","type":"string"}},"required":["type","message"],"type":"object"},"MessageContentInvalidFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_content_invalid","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"groups":{"items":{"$ref":"#/components/schemas/MessageStatusCount"},"type":"array"}},"required":["count","groups"],"type":"object"},"MessageCountBucket":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"end":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"},"groups":{"items":{"$ref":"#/components/schemas/MessageStatusCount"},"type":"array"},"start":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"}},"required":["count","groups","end","start"],"type":"object"},"MessageDeleteContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"reason":{"minLength":1,"type":"string"},"scope":{"minLength":1,"type":"string"},"type":{"const":"message.delete","type":"string"}},"required":["type"],"type":"object"},"MessageDeliveredEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsMessageDeliveredEvent"},{"$ref":"#/components/schemas/WhatsappMessageDeliveredEvent"},{"$ref":"#/components/schemas/WhatsappBusinessMessageDeliveredEvent"},{"$ref":"#/components/schemas/EmailMessageDeliveredEvent"},{"$ref":"#/components/schemas/ImessageMessageDeliveredEvent"},{"$ref":"#/components/schemas/TelegramMessageDeliveredEvent"}]},"MessageDeliveryFailedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_delivery_failed","type":"string"},"confirmedRecipientCount":{"description":"Unique recipients with authoritative delivery confirmation for the original send; omission means evidence is not supplied.","maximum":9007199254740991,"minimum":0,"type":"integer"},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageDirection":{"enum":["received","sent"],"type":"string"},"MessageDispatchedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsMessageDispatchedEvent"},{"$ref":"#/components/schemas/WhatsappMessageDispatchedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessMessageDispatchedEvent"},{"$ref":"#/components/schemas/EmailMessageDispatchedEvent"},{"$ref":"#/components/schemas/ImessageMessageDispatchedEvent"},{"$ref":"#/components/schemas/TelegramMessageDispatchedEvent"}]},"MessageExpiredFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_expired","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageFailedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsMessageFailedEvent"},{"$ref":"#/components/schemas/WhatsappMessageFailedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessMessageFailedEvent"},{"$ref":"#/components/schemas/EmailMessageFailedEvent"},{"$ref":"#/components/schemas/ImessageMessageFailedEvent"},{"$ref":"#/components/schemas/TelegramMessageFailedEvent"}]},"MessageFailedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_failed","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageFailure":{"oneOf":[{"$ref":"#/components/schemas/SenderNotAuthorizedFailure"},{"$ref":"#/components/schemas/SenderUnavailableFailure"},{"$ref":"#/components/schemas/SenderRegistrationRequiredFailure"},{"$ref":"#/components/schemas/RecipientInvalidFailure"},{"$ref":"#/components/schemas/RecipientUnreachableFailure"},{"$ref":"#/components/schemas/RecipientOptedOutFailure"},{"$ref":"#/components/schemas/MessageTypeUnsupportedFailure"},{"$ref":"#/components/schemas/MessageContentInvalidFailure"},{"$ref":"#/components/schemas/MessageTooLargeFailure"},{"$ref":"#/components/schemas/MessageBlockedFailure"},{"$ref":"#/components/schemas/MessageBlockedByCarrierFailure"},{"$ref":"#/components/schemas/MessageRateLimitedFailure"},{"$ref":"#/components/schemas/MessageRejectedFailure"},{"$ref":"#/components/schemas/MessageExpiredFailure"},{"$ref":"#/components/schemas/MessageDeliveryFailedFailure"},{"$ref":"#/components/schemas/MessageSubmissionUnknownFailure"},{"$ref":"#/components/schemas/MessagingUnavailableFailure"},{"$ref":"#/components/schemas/MessageFailedFailure"}]},"MessageGroup":{"additionalProperties":false,"properties":{"id":{"$ref":"#/components/schemas/MessageGroupId"},"parts":{"items":{"$ref":"#/components/schemas/MessageContent"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["id","type","parts"],"type":"object"},"MessageGroupId":{"pattern":"^pho_grp_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"MessageId":{"pattern":"^pho_msg_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"MessageMetricsBackfillState":{"enum":["disabled","pending","running","verifying","completed","paused","failed"],"type":"string"},"MessageMetricsDirection":{"enum":["addressed","received"],"type":"string"},"MessageMetricsJsonCatalog":{"additionalProperties":false,"properties":{"commonPaths":{"items":{"$ref":"#/components/schemas/MessageMetricsJsonPath"},"readOnly":true,"type":"array"},"discriminators":{"items":{"$ref":"#/components/schemas/MessageMetricsJsonDiscriminator"},"readOnly":true,"type":"array"},"platforms":{"items":{"$ref":"#/components/schemas/MessageMetricsPlatformJsonPaths"},"readOnly":true,"type":"array"},"resource":{"$ref":"#/components/schemas/MessageMetricsJsonResource"}},"required":["commonPaths","discriminators","platforms","resource"],"type":"object"},"MessageMetricsJsonDiscriminator":{"anyOf":[{"$ref":"#/components/schemas/MessageMetricsJsonPathDiscriminator"},{"$ref":"#/components/schemas/MessageMetricsJsonOneOfPathsDiscriminator"}]},"MessageMetricsJsonOneOfPathsDiscriminator":{"additionalProperties":false,"properties":{"oneOfPaths":{"items":{"type":"string"},"readOnly":true,"type":"array"}},"required":["oneOfPaths"],"type":"object"},"MessageMetricsJsonPath":{"additionalProperties":false,"properties":{"additionalProperties":{"const":true,"type":"boolean"},"contentTypes":{"items":{"type":"string"},"readOnly":true,"type":"array"},"directions":{"items":{"$ref":"#/components/schemas/MessageMetricsDirection"},"readOnly":true,"type":"array"},"expression":{"type":"string"},"itemTypes":{"items":{"type":"string"},"readOnly":true,"type":"array"},"path":{"type":"string"},"required":{"type":"boolean"},"type":{"type":"string"},"values":{"items":{"$ref":"#/components/schemas/MessageMetricsJsonPathValue"},"readOnly":true,"type":"array"}},"required":["expression","path","required","type"],"type":"object"},"MessageMetricsJsonPathDiscriminator":{"additionalProperties":false,"properties":{"path":{"type":"string"},"values":{"items":{"type":"string"},"readOnly":true,"type":"array"}},"required":["path","values"],"type":"object"},"MessageMetricsJsonPathValue":{"type":["boolean","number","string"]},"MessageMetricsJsonResource":{"additionalProperties":false,"properties":{"contractsVersion":{"type":"string"},"type":{"$ref":"#/components/schemas/MessageMetricsJsonResourceType"}},"required":["contractsVersion","type"],"type":"object"},"MessageMetricsJsonResourceType":{"enum":["call","message"],"type":"string"},"MessageMetricsPlatform":{"enum":["email","imessage","sms","telegram","voice","whatsapp","whatsapp_business"],"type":"string"},"MessageMetricsPlatformJsonPaths":{"additionalProperties":false,"properties":{"name":{"$ref":"#/components/schemas/MessageMetricsPlatform"},"paths":{"items":{"$ref":"#/components/schemas/MessageMetricsJsonPath"},"readOnly":true,"type":"array"}},"required":["name","paths"],"type":"object"},"MessageMetricsQueryColumn":{"additionalProperties":false,"properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"],"type":"object"},"MessageMetricsQueryStatistics":{"additionalProperties":false,"properties":{"bytesRead":{"minimum":0,"type":"number"},"elapsedSeconds":{"minimum":0,"type":"number"},"rowsRead":{"minimum":0,"type":"number"}},"required":["bytesRead","elapsedSeconds","rowsRead"],"type":"object"},"MessageMetricsSqlCapabilities":{"additionalProperties":false,"properties":{"arrayJoin":{"type":"boolean"},"ctes":{"type":"boolean"},"joins":{"type":"boolean"},"parameters":{"type":"boolean"},"selectWithoutFrom":{"type":"boolean"},"subqueries":{"type":"boolean"},"unions":{"type":"boolean"}},"required":["arrayJoin","ctes","joins","parameters","selectWithoutFrom","subqueries","unions"],"type":"object"},"MessageMetricsSqlColumn":{"additionalProperties":false,"properties":{"description":{"type":"string"},"json":{"$ref":"#/components/schemas/MessageMetricsJsonCatalog"},"name":{"type":"string"},"type":{"type":"string"}},"required":["description","name","type"],"type":"object"},"MessageMetricsSqlLimits":{"additionalProperties":false,"properties":{"maximumParameterValueBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumParameters":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumSqlBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maximumTotalParameterBytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["maximumParameters","maximumParameterValueBytes","maximumSqlBytes","maximumTotalParameterBytes"],"type":"object"},"MessageMetricsSqlTable":{"additionalProperties":false,"properties":{"columns":{"items":{"$ref":"#/components/schemas/MessageMetricsSqlColumn"},"type":"array"},"currentState":{"type":"string"},"description":{"type":"string"},"name":{"$ref":"#/components/schemas/MessageMetricsSqlTableName"}},"required":["columns","currentState","description","name"],"type":"object"},"MessageMetricsSqlTableName":{"enum":["message_events","call_events"],"type":"string"},"MessageNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MESSAGE_NOT_FOUND","status":404,"title":"Message Not Found","type":"https://photon.codes/docs/problems/message-not-found"},"properties":{"code":{"const":"MESSAGE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Message Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/message-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MessageNotReadableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MESSAGE_NOT_READABLE","status":409,"title":"Message Not Readable","type":"https://photon.codes/docs/problems/message-not-readable"},"properties":{"code":{"const":"MESSAGE_NOT_READABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Message Not Readable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/message-not-readable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MessagePage":{"additionalProperties":false,"example":{"items":[{"content":{"format":"plain","text":"Hello from Photon.","type":"text"},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}]},"properties":{"items":{"description":"Unsupported platforms and records with unsupported data are omitted.","items":{"$ref":"#/components/schemas/PlatformMessage"},"type":"array"},"nextPageToken":{"description":"Continue with this token, even if items is empty. Omitted when no more pages remain.","maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},"required":["items"],"type":"object"},"MessageRateLimitedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_rate_limited","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageReadContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"message.read","type":"string"}},"required":["type"],"type":"object"},"MessageReceivedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsMessageReceivedEvent"},{"$ref":"#/components/schemas/WhatsappMessageReceivedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessMessageReceivedEvent"},{"$ref":"#/components/schemas/EmailMessageReceivedEvent"},{"$ref":"#/components/schemas/ImessageMessageReceivedEvent"},{"$ref":"#/components/schemas/TelegramMessageReceivedEvent"}]},"MessageRejectedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_rejected","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageStatus":{"enum":["received","dispatched","accepted","delivered","failed"],"type":"string"},"MessageStatusCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"$ref":"#/components/schemas/MessageStatus"}},"required":["count","status"],"type":"object"},"MessageSubmissionUnknownFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_submission_unknown","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageTooLargeFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_too_large","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageTooLongProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MESSAGE_TOO_LONG","status":422,"title":"Message Too Long","type":"https://photon.codes/docs/problems/message-too-long"},"properties":{"code":{"const":"MESSAGE_TOO_LONG","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Message Too Long","type":"string"},"type":{"const":"https://photon.codes/docs/problems/message-too-long","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MessageTypeUnsupportedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"message_type_unsupported","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MessageUpdateContent":{"additionalProperties":false,"properties":{"content":{"$ref":"#/components/schemas/MessageUpdateValue"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"message.update","type":"string"}},"required":["type","content"],"type":"object"},"MessageUpdateGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/MessageUpdateGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"MessageUpdateGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"}]},"MessageUpdateValue":{"anyOf":[{"$ref":"#/components/schemas/MessageUpdateGroupContentPart"},{"$ref":"#/components/schemas/MessageUpdateGroupContent"}]},"MessagingUnavailableFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"messaging_unavailable","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"MeteredUsage":{"additionalProperties":false,"properties":{"amountCents":{"description":"Cost accrued so far.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"categoryDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"Display name for the subscription category; absent or null when unconfigured."},"currency":{"description":"ISO currency code.","type":"string"},"displayName":{"description":"Display name for this usage item.","type":"string"},"metricCode":{"description":"Metered thing, e.g. imessage_message.","type":"string"},"units":{"description":"Units consumed this period.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["amountCents","category","currency","displayName","metricCode","units"],"type":"object"},"MfaAlreadyEnrolledProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MFA_ALREADY_ENROLLED","status":409,"title":"MFA Already Enrolled","type":"https://photon.codes/docs/problems/mfa-already-enrolled"},"properties":{"code":{"const":"MFA_ALREADY_ENROLLED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"MFA Already Enrolled","type":"string"},"type":{"const":"https://photon.codes/docs/problems/mfa-already-enrolled","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MfaEnrollmentExpiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MFA_ENROLLMENT_EXPIRED","status":410,"title":"MFA Enrollment Expired","type":"https://photon.codes/docs/problems/mfa-enrollment-expired"},"properties":{"code":{"const":"MFA_ENROLLMENT_EXPIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"title":{"const":"MFA Enrollment Expired","type":"string"},"type":{"const":"https://photon.codes/docs/problems/mfa-enrollment-expired","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MfaEnrollmentInvalidProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MFA_ENROLLMENT_INVALID","status":400,"title":"MFA Enrollment Invalid","type":"https://photon.codes/docs/problems/mfa-enrollment-invalid"},"properties":{"code":{"const":"MFA_ENROLLMENT_INVALID","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"MFA Enrollment Invalid","type":"string"},"type":{"const":"https://photon.codes/docs/problems/mfa-enrollment-invalid","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MfaFactor":{"additionalProperties":false,"properties":{"createdAt":{"description":"UTC timestamp when the factor was created, in RFC 3339 format.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"id":{"description":"Identifier of a TOTP authentication factor, prefixed with auth_factor_.","maxLength":128,"pattern":"^auth_factor_[A-Za-z0-9]+$","type":"string"},"updatedAt":{"description":"UTC timestamp when the factor was last updated, in RFC 3339 format.","example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["createdAt","id","updatedAt"],"type":"object"},"MfaFactorNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MFA_FACTOR_NOT_FOUND","status":404,"title":"MFA Factor Not Found","type":"https://photon.codes/docs/problems/mfa-factor-not-found"},"properties":{"code":{"const":"MFA_FACTOR_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"MFA Factor Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/mfa-factor-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"MfaTotpStatus":{"additionalProperties":false,"description":"TOTP enrollment status for the authenticated Account.","properties":{"enrolled":{"description":"Whether the Account has at least one enrolled TOTP factor.","type":"boolean"},"factors":{"description":"Enrolled TOTP factors. Empty when TOTP is not enrolled; contains no setup secrets.","items":{"$ref":"#/components/schemas/MfaFactor"},"type":"array"}},"required":["enrolled","factors"],"type":"object"},"MfaVerificationFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"MFA_VERIFICATION_FAILED","status":422,"title":"MFA Verification Failed","type":"https://photon.codes/docs/problems/mfa-verification-failed"},"properties":{"code":{"const":"MFA_VERIFICATION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"MFA Verification Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/mfa-verification-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"NoAnswerCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"no_answer","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedBeforeAnswerCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"NotAuthenticatedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NOT_AUTHENTICATED","status":401,"title":"Not Authenticated","type":"https://photon.codes/docs/problems/not-authenticated"},"properties":{"code":{"const":"NOT_AUTHENTICATED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":401,"type":"number"},"title":{"const":"Not Authenticated","type":"string"},"type":{"const":"https://photon.codes/docs/problems/not-authenticated","type":"string"}},"required":["code","status","title","type"],"type":"object"},"NumberCountry":{"additionalProperties":false,"properties":{"callingCode":{"pattern":"^\\+[1-9][0-9]{0,2}$","type":"string"},"countryCode":{"pattern":"^[A-Z]{2}$","type":"string"},"displayName":{"type":"string"}},"required":["callingCode","countryCode","displayName"],"type":"object"},"NumberInventoryUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NUMBER_INVENTORY_UNAVAILABLE","remediation":{"action":"Request a number in another area code, or leave the area code out."},"status":409,"title":"Number Inventory Unavailable","type":"https://photon.codes/docs/problems/number-inventory-unavailable"},"properties":{"code":{"const":"NUMBER_INVENTORY_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Number Inventory Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/number-inventory-unavailable","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"NumberOrderFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NUMBER_ORDER_FAILED","status":502,"title":"Number Order Failed","type":"https://photon.codes/docs/problems/number-order-failed"},"properties":{"code":{"const":"NUMBER_ORDER_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Number Order Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/number-order-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"NumberOrderReconciliationRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NUMBER_ORDER_RECONCILIATION_REQUIRED","remediation":{"action":"Contact support@photon.codes before requesting another number, so we can check whether one was assigned."},"status":409,"title":"Number Order Reconciliation Required","type":"https://photon.codes/docs/problems/number-order-reconciliation-required"},"properties":{"code":{"const":"NUMBER_ORDER_RECONCILIATION_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Number Order Reconciliation Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/number-order-reconciliation-required","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"NumberReleaseFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NUMBER_RELEASE_FAILED","remediation":{"action":"The number is still on the project. Contact support@photon.codes."},"status":502,"title":"Number Release Failed","type":"https://photon.codes/docs/problems/number-release-failed"},"properties":{"code":{"const":"NUMBER_RELEASE_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Number Release Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/number-release-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"NumberSearchFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"NUMBER_SEARCH_FAILED","remediation":{"action":"Request the number again. If it fails again, Contact support@photon.codes."},"status":502,"title":"Number Search Failed","type":"https://photon.codes/docs/problems/number-search-failed"},"properties":{"code":{"const":"NUMBER_SEARCH_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Number Search Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/number-search-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"OauthClientCreationConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_CLIENT_CREATION_CONFLICT","status":409,"title":"OAuth Client Creation Conflict","type":"https://photon.codes/docs/problems/oauth-client-creation-conflict"},"properties":{"code":{"const":"OAUTH_CLIENT_CREATION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Client Creation Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-client-creation-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthClientDeletionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_CLIENT_DELETION_CONFLICT","status":409,"title":"OAuth Client Deletion Conflict","type":"https://photon.codes/docs/problems/oauth-client-deletion-conflict"},"properties":{"code":{"const":"OAUTH_CLIENT_DELETION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Client Deletion Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-client-deletion-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthClientNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_CLIENT_NOT_FOUND","status":404,"title":"OAuth Client Not Found","type":"https://photon.codes/docs/problems/oauth-client-not-found"},"properties":{"code":{"const":"OAUTH_CLIENT_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"OAuth Client Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-client-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthClientPreconditionFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_CLIENT_PRECONDITION_FAILED","status":412,"title":"OAuth Client Precondition Failed","type":"https://photon.codes/docs/problems/oauth-client-precondition-failed"},"properties":{"code":{"const":"OAUTH_CLIENT_PRECONDITION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":412,"type":"number"},"title":{"const":"OAuth Client Precondition Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-client-precondition-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthClientQuotaExceededProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_CLIENT_QUOTA_EXCEEDED","status":429,"title":"OAuth Client Quota Exceeded","type":"https://photon.codes/docs/problems/oauth-client-quota-exceeded"},"properties":{"code":{"const":"OAUTH_CLIENT_QUOTA_EXCEEDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"OAuth Client Quota Exceeded","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-client-quota-exceeded","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthSecretConfiguredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_SECRET_CONFIGURED","status":409,"title":"OAuth Secret Already Configured","type":"https://photon.codes/docs/problems/oauth-secret-configured"},"properties":{"code":{"const":"OAUTH_SECRET_CONFIGURED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Secret Already Configured","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-secret-configured","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthSecretCreationConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_SECRET_CREATION_CONFLICT","status":409,"title":"OAuth Secret Creation Conflict","type":"https://photon.codes/docs/problems/oauth-secret-creation-conflict"},"properties":{"code":{"const":"OAUTH_SECRET_CREATION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Secret Creation Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-secret-creation-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthSecretNotConfiguredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_SECRET_NOT_CONFIGURED","status":409,"title":"OAuth Secret Not Configured","type":"https://photon.codes/docs/problems/oauth-secret-not-configured"},"properties":{"code":{"const":"OAUTH_SECRET_NOT_CONFIGURED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Secret Not Configured","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-secret-not-configured","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OauthSecretRevocationConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OAUTH_SECRET_REVOCATION_CONFLICT","status":409,"title":"OAuth Secret Revocation Conflict","type":"https://photon.codes/docs/problems/oauth-secret-revocation-conflict"},"properties":{"code":{"const":"OAUTH_SECRET_REVOCATION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OAuth Secret Revocation Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/oauth-secret-revocation-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"Operation":{"additionalProperties":false,"properties":{"cancellable":{"type":"boolean"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"detail":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"endedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"$ref":"#/components/schemas/OperationError"},"operationId":{"type":"string"},"projectId":{"type":"string"},"reason":{"$ref":"#/components/schemas/OperationReason"},"resourceId":{"type":"string"},"resourceType":{"type":"string"},"startedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"state":{"$ref":"#/components/schemas/OperationState"},"type":{"$ref":"#/components/schemas/OperationType"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["cancellable","createdAt","operationId","projectId","resourceType","state","type","updatedAt"],"type":"object"},"OperationError":{"anyOf":[{"$ref":"#/components/schemas/ChargeRefusedProblem"},{"$ref":"#/components/schemas/EmailDomainProviderRejectedProblem"},{"$ref":"#/components/schemas/EmailDomainReleaseFailedProblem"},{"$ref":"#/components/schemas/EmailDomainVerificationFailedProblem"},{"$ref":"#/components/schemas/EmailDomainVerificationTimedOutProblem"},{"$ref":"#/components/schemas/EmailTenantSetupTimedOutProblem"},{"$ref":"#/components/schemas/EnterprisePlanRequiredProblem"},{"$ref":"#/components/schemas/EntitlementRequiredProblem"},{"$ref":"#/components/schemas/NumberInventoryUnavailableProblem"},{"$ref":"#/components/schemas/NumberOrderFailedProblem"},{"$ref":"#/components/schemas/NumberOrderReconciliationRequiredProblem"},{"$ref":"#/components/schemas/NumberReleaseFailedProblem"},{"$ref":"#/components/schemas/NumberSearchFailedProblem"},{"$ref":"#/components/schemas/ResourceNotFoundProblem"},{"$ref":"#/components/schemas/SmsCampaignProviderRejectedProblem"},{"$ref":"#/components/schemas/SmsCampaignReconciliationRequiredProblem"},{"$ref":"#/components/schemas/SmsCampaignRevokedProblem"},{"$ref":"#/components/schemas/TelegramConfigurationFailedProblem"},{"$ref":"#/components/schemas/TelegramReleaseFailedProblem"},{"$ref":"#/components/schemas/WhatsappAccountDisconnectFailedProblem"},{"$ref":"#/components/schemas/WhatsappAuthorizationRevokedProblem"},{"$ref":"#/components/schemas/WhatsappCodeExchangeFailedProblem"},{"$ref":"#/components/schemas/WhatsappCosmosLineNotSupportedProblem"},{"$ref":"#/components/schemas/WhatsappDisplayNameConflictProblem"},{"$ref":"#/components/schemas/WhatsappEmbeddedSignupPhoneLookupFailedProblem"},{"$ref":"#/components/schemas/WhatsappEmbeddedSignupPhoneNotFoundProblem"},{"$ref":"#/components/schemas/WhatsappEmbeddedSignupPhoneNotVerifiedProblem"},{"$ref":"#/components/schemas/WhatsappEmbeddedSignupWabaNotAuthorizedProblem"},{"$ref":"#/components/schemas/WhatsappNumberAddRefusedProblem"},{"$ref":"#/components/schemas/WhatsappNumberLookupFailedProblem"},{"$ref":"#/components/schemas/WhatsappProjectWabaAlreadyConnectedProblem"},{"$ref":"#/components/schemas/WhatsappRegistrationRefusedProblem"},{"$ref":"#/components/schemas/WhatsappSenderConnectedProblem"},{"$ref":"#/components/schemas/WhatsappSenderProvisioningProblem"},{"$ref":"#/components/schemas/WhatsappSenderReleaseFailedProblem"},{"$ref":"#/components/schemas/WhatsappSignupExpiredProblem"},{"$ref":"#/components/schemas/WhatsappSubscriptionRefusedProblem"},{"$ref":"#/components/schemas/WhatsappVerificationRefusedProblem"},{"$ref":"#/components/schemas/WhatsappVerificationRequestRefusedProblem"},{"$ref":"#/components/schemas/WhatsappVerificationTimedOutProblem"},{"$ref":"#/components/schemas/WhatsappVoipSourceNotEligibleProblem"},{"$ref":"#/components/schemas/WhatsappVoipSourceReleasingProblem"},{"$ref":"#/components/schemas/WhatsappWabaAlreadyConnectedProblem"},{"$ref":"#/components/schemas/ProblemDetails"}],"description":"Why the operation failed: the problem of its `code`, the same object the endpoint returns when it rejects a request, with the `status` that rejection would have had (the poll itself answers 200). Every code an operation can end with is a branch below, and the endpoint that starts the operation lists its codes. Branch on `code`, never on `status`, and keep a default: a code added after your client was generated arrives as a generic problem with `type: about:blank` and `status: 500`. That 500 means this document does not describe the code yet, not that the request failed on our side or that retrying will help."},"OperationNotCancellableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OPERATION_NOT_CANCELLABLE","status":409,"title":"Operation Not Cancellable","type":"https://photon.codes/docs/problems/operation-not-cancellable"},"properties":{"code":{"const":"OPERATION_NOT_CANCELLABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Operation Not Cancellable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/operation-not-cancellable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OperationNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OPERATION_NOT_FOUND","status":404,"title":"Operation Not Found","type":"https://photon.codes/docs/problems/operation-not-found"},"properties":{"code":{"const":"OPERATION_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Operation Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/operation-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OperationPage":{"additionalProperties":false,"properties":{"nextPageToken":{"type":"string"},"operations":{"items":{"$ref":"#/components/schemas/Operation"},"type":"array"}},"required":["operations"],"type":"object"},"OperationReason":{"enum":["charge_refused","entitlement_lost","project_deleted"],"type":"string"},"OperationState":{"enum":["pending","running","succeeded","failed","cancelled"],"type":"string"},"OperationType":{"enum":["resource.provision","resource.release","whatsapp.account.disconnect","sms.campaign.assign","sms.campaign.unassign"],"type":"string"},"OperationUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OPERATION_UNAVAILABLE","status":422,"title":"Operation Unavailable","type":"https://photon.codes/docs/problems/operation-unavailable"},"properties":{"code":{"const":"OPERATION_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Operation Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/operation-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationAuthPolicyChangedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_AUTH_POLICY_CHANGED","status":409,"title":"Organization Authentication Policy Changed","type":"https://photon.codes/docs/problems/organization-auth-policy-changed"},"properties":{"code":{"const":"ORGANIZATION_AUTH_POLICY_CHANGED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Authentication Policy Changed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-auth-policy-changed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationAuthenticationRedirect":{"additionalProperties":false,"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"OrganizationAuthenticationRequest":{"additionalProperties":false,"properties":{"returnTo":{"minLength":1,"type":"string"}},"required":["returnTo"],"type":"object"},"OrganizationBillingPeriod":{"additionalProperties":false,"properties":{"currency":{"description":"ISO 4217 currency code.","type":"string"},"estimatedTotalCents":{"description":"What the period's invoice comes to if usage stops now and the units held are kept to the period's end: with tax, after discounts and credit.","maximum":9007199254740991,"minimum":0,"type":"integer"},"periodEnd":{"description":"Last moment of the billing period, ISO 8601. Its invoice is drafted on the billing day after.","example":"2026-11-09T23:59:59.000Z","format":"date-time","type":"string"},"periodStart":{"description":"Start of the billing period, ISO 8601.","example":"2026-10-10T00:00:00.000Z","format":"date-time","type":"string"},"transferBalanceCents":{"description":"Bank transfers received beyond every open invoice. They pay the next invoice once it is issued.","maximum":9007199254740991,"minimum":0,"type":"integer"},"usageCents":{"description":"Metered usage so far this period, across the organization and every project, before tax.","maximum":9007199254740991,"minimum":0,"type":"integer"},"usageLimitCents":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}],"description":"The contract's soft usage limit, compared with usageCents. Nothing is blocked at it; null when the contract sets none."}},"required":["currency","estimatedTotalCents","periodEnd","periodStart","transferBalanceCents","usageCents","usageLimitCents"],"type":"object"},"OrganizationClosingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_CLOSING","status":409,"title":"Organization is closing","type":"https://photon.codes/docs/problems/organization-closing"},"properties":{"code":{"const":"ORGANIZATION_CLOSING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization is closing","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-closing","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationConnectionNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_CONNECTION_NOT_FOUND","status":404,"title":"Organization Connection Not Found","type":"https://photon.codes/docs/problems/organization-connection-not-found"},"properties":{"code":{"const":"ORGANIZATION_CONNECTION_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Organization Connection Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-connection-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationConnectionStatus":{"additionalProperties":{},"properties":{"membership":{"$ref":"#/components/schemas/OrganizationConnectionStatusMembership"},"organization":{"$ref":"#/components/schemas/OrganizationConnectionStatusOrganization"},"organizationId":{"type":"string"},"synchronized":{"type":"boolean"}},"required":["organizationId","organization","membership","synchronized"],"type":"object"},"OrganizationConnectionStatusMembership":{"additionalProperties":{},"properties":{"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"retryAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/OrganizationConnectionSyncStatus"}},"required":["status","errorCode","retryAt"],"type":"object"},"OrganizationConnectionStatusOrganization":{"additionalProperties":{},"properties":{"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/OrganizationConnectionSyncStatus"}},"required":["status","errorCode"],"type":"object"},"OrganizationConnectionSyncStatus":{"enum":["pending","syncing","ready","error","blocked"],"type":"string"},"OrganizationCreditSubject":{"additionalProperties":false,"properties":{"type":{"const":"organization","type":"string"}},"required":["type"],"type":"object"},"OrganizationEnterpriseLoginRequest":{"additionalProperties":false,"properties":{"invitationToken":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"},"organizationId":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"returnTo":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["organizationId","returnTo"],"type":"object"},"OrganizationId":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"OrganizationInvoiceSubject":{"additionalProperties":false,"properties":{"organizationId":{"type":"string"},"type":{"const":"organization","type":"string"}},"required":["organizationId","type"],"type":"object"},"OrganizationMemberNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_MEMBER_NOT_FOUND","status":404,"title":"Organization Member Not Found","type":"https://photon.codes/docs/problems/organization-member-not-found"},"properties":{"code":{"const":"ORGANIZATION_MEMBER_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Organization Member Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-member-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationMemberRemovedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_MEMBER_REMOVED","status":409,"title":"Organization Member Removed","type":"https://photon.codes/docs/problems/organization-member-removed"},"properties":{"code":{"const":"ORGANIZATION_MEMBER_REMOVED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Member Removed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-member-removed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationMembershipVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT","status":409,"title":"Organization Membership Version Conflict","type":"https://photon.codes/docs/problems/organization-membership-version-conflict"},"properties":{"code":{"const":"ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Membership Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-membership-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationOwnerInvariantProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_OWNER_INVARIANT","status":409,"title":"Organization Ownership Requires Recovery","type":"https://photon.codes/docs/problems/organization-owner-invariant"},"properties":{"code":{"const":"ORGANIZATION_OWNER_INVARIANT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Ownership Requires Recovery","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-owner-invariant","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationOwnerProtectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_OWNER_PROTECTED","status":409,"title":"Organization Owner Protected","type":"https://photon.codes/docs/problems/organization-owner-protected"},"properties":{"code":{"const":"ORGANIZATION_OWNER_PROTECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Owner Protected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-owner-protected","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationProfileInput":{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"companyName":{"maxLength":100,"minLength":1,"type":"string"},"displayName":{"maxLength":100,"minLength":1,"type":"string"},"ein":{"pattern":"^\\d{2}-?\\d{7}$","type":"string"},"email":{"format":"email","maxLength":100,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"lastName":{"maxLength":100,"minLength":1,"type":"string"},"phone":{"maxLength":20,"pattern":"^\\+[1-9]\\d{7,14}$","type":"string"},"supportEmail":{"format":"email","maxLength":254,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"type":{"const":"organization","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"},"website":{"format":"uri","maxLength":100,"type":"string"}},"required":["address","displayName","email","firstName","lastName","phone","supportEmail","vertical","companyName","ein","entityType","type","website"],"type":"object"},"OrganizationRecoveryRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_RECOVERY_REQUIRED","status":409,"title":"Organization Recovery Required","type":"https://photon.codes/docs/problems/organization-recovery-required"},"properties":{"code":{"const":"ORGANIZATION_RECOVERY_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Recovery Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-recovery-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSelfManagementForbiddenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN","status":409,"title":"Use Leave Organization","type":"https://photon.codes/docs/problems/organization-self-management-forbidden"},"properties":{"code":{"const":"ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Use Leave Organization","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-self-management-forbidden","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSsoConfiguration":{"additionalProperties":{},"properties":{"connectionChangedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"connectionGeneration":{"pattern":"^(0|[1-9][0-9]{0,19})$","type":"string"},"connectionState":{"$ref":"#/components/schemas/OrganizationSsoConfigurationConnectionState"},"connectionType":{"type":"string"},"desiredSsoEnforced":{"type":"boolean"},"domains":{"items":{"$ref":"#/components/schemas/OrganizationSsoDomain"},"type":"array"},"organizationId":{"type":"string"},"policySyncStatus":{"$ref":"#/components/schemas/OrganizationSsoConfigurationPolicySyncStatus"},"providerAvailable":{"type":"boolean"},"ssoEnforced":{"type":"boolean"},"ssoJitEnabled":{"type":"boolean"},"version":{"pattern":"^(0|[1-9][0-9]{0,19})$","type":"string"}},"required":["organizationId","connectionState","connectionGeneration","connectionChangedAt","version","ssoEnforced","desiredSsoEnforced","ssoJitEnabled","policySyncStatus"],"type":"object"},"OrganizationSsoConfigurationConnectionState":{"enum":["not_configured","configuring","ready","error"],"type":"string"},"OrganizationSsoConfigurationPolicySyncStatus":{"enum":["synced","manual_required"],"type":"string"},"OrganizationSsoConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SSO_CONFLICT","status":409,"title":"Organization SSO Conflict","type":"https://photon.codes/docs/problems/organization-sso-conflict"},"properties":{"code":{"const":"ORGANIZATION_SSO_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization SSO Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sso-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSsoDomain":{"additionalProperties":{},"properties":{"domain":{"type":"string"},"state":{"$ref":"#/components/schemas/OrganizationSsoDomainState"}},"required":["domain","state"],"type":"object"},"OrganizationSsoDomainState":{"enum":["verified","pending","failed"],"type":"string"},"OrganizationSsoEnabledProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SSO_ENABLED","status":409,"title":"Organization SSO Enabled","type":"https://photon.codes/docs/problems/organization-sso-enabled"},"properties":{"code":{"const":"ORGANIZATION_SSO_ENABLED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization SSO Enabled","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sso-enabled","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSsoNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SSO_NOT_FOUND","status":404,"title":"Organization SSO Not Found","type":"https://photon.codes/docs/problems/organization-sso-not-found"},"properties":{"code":{"const":"ORGANIZATION_SSO_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Organization SSO Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sso-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSsoPreconditionFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SSO_PRECONDITION_FAILED","status":412,"title":"Organization SSO Precondition Failed","type":"https://photon.codes/docs/problems/organization-sso-precondition-failed"},"properties":{"code":{"const":"ORGANIZATION_SSO_PRECONDITION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":412,"type":"number"},"title":{"const":"Organization SSO Precondition Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sso-precondition-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSsoRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SSO_REQUIRED","status":403,"title":"Organization SSO Required","type":"https://photon.codes/docs/problems/organization-sso-required"},"properties":{"code":{"const":"ORGANIZATION_SSO_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Organization SSO Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sso-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationSubscription":{"additionalProperties":false,"properties":{"baseAmountCents":{"description":"The plan's recurring base fee in whole cents.","maximum":9007199254740991,"minimum":0,"type":"integer"},"cancelsAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}],"description":"When the subscription will end, ISO 8601."},"currency":{"description":"ISO currency code.","type":"string"},"currentPeriodEnd":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}],"description":"End of the current billing period, ISO 8601."},"entitlements":{"items":{"$ref":"#/components/schemas/OrganizationSubscriptionEntitlement"},"type":"array"},"fixedCharges":{"description":"Fixed charges defined by the organization's current plan. Quantity is the plan default.","items":{"$ref":"#/components/schemas/FixedCharge"},"type":"array"},"minimumCommitment":{"anyOf":[{"$ref":"#/components/schemas/BillingPlanMinimumCommitment"},{"type":"null"}]},"planCode":{"description":"The organization's plan.","type":"string"},"planName":{"description":"The plan's customer-facing name, e.g. Messaging Pro.","type":"string"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"}},"required":["cancelsAt","currentPeriodEnd","entitlements","fixedCharges","baseAmountCents","currency","minimumCommitment","planCode","planName","status"],"type":"object"},"OrganizationSubscriptionEntitlement":{"additionalProperties":false,"properties":{"featureKey":{"description":"Feature gate key.","type":"string"},"value":{"description":"Gate value as a string.","type":"string"}},"required":["featureKey","value"],"type":"object"},"OrganizationSubscriptionTerms":{"additionalProperties":false,"properties":{"cancelsAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"When the subscription ends instead of renewing, ISO 8601."},"coupons":{"description":"The coupons in effect, oldest redemption first. A project's are its own; the organization's also carry those applied to the organization.","items":{"$ref":"#/components/schemas/SubscriptionCoupon"},"type":"array"},"currentPeriodEnd":{"description":"ISO 8601.","type":"string"},"currentPeriodStart":{"description":"ISO 8601.","type":"string"},"nextBillingAt":{"description":"When the next invoice is issued: the second after the period ends, ISO 8601.","type":"string"},"paymentMode":{"$ref":"#/components/schemas/PaymentMode"},"plan":{"$ref":"#/components/schemas/BillingPlan"},"planSource":{"$ref":"#/components/schemas/PlanSource"},"scheduledPlanChange":{"anyOf":[{"$ref":"#/components/schemas/ScheduledPlanChange"},{"type":"null"}],"description":"A downgrade waiting for the period end, or null."}},"required":["cancelsAt","coupons","currentPeriodEnd","currentPeriodStart","nextBillingAt","paymentMode","plan","planSource","scheduledPlanChange"],"type":"object"},"OrganizationSyncUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_SYNC_UNAVAILABLE","status":409,"title":"Organization Synchronization Unavailable","type":"https://photon.codes/docs/problems/organization-sync-unavailable"},"properties":{"code":{"const":"ORGANIZATION_SYNC_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Synchronization Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-sync-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationTransferToSelfProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_TRANSFER_TO_SELF","status":409,"title":"Choose Another Organization Owner","type":"https://photon.codes/docs/problems/organization-transfer-to-self"},"properties":{"code":{"const":"ORGANIZATION_TRANSFER_TO_SELF","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Choose Another Organization Owner","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-transfer-to-self","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_UNAVAILABLE","status":409,"title":"Organization Unavailable","type":"https://photon.codes/docs/problems/organization-unavailable"},"properties":{"code":{"const":"ORGANIZATION_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OrganizationVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"ORGANIZATION_VERSION_CONFLICT","status":409,"title":"Organization Version Conflict","type":"https://photon.codes/docs/problems/organization-version-conflict"},"properties":{"code":{"const":"ORGANIZATION_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Organization Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/organization-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OtlpAnyValue":{"anyOf":[{"additionalProperties":false,"properties":{"stringValue":{"type":"string"}},"required":["stringValue"],"type":"object"},{"additionalProperties":false,"properties":{"boolValue":{"type":"boolean"}},"required":["boolValue"],"type":"object"},{"additionalProperties":false,"properties":{"intValue":{"pattern":"^-?[0-9]+$","type":"string"}},"required":["intValue"],"type":"object"},{"additionalProperties":false,"properties":{"doubleValue":{"anyOf":[{"type":"number"},{"enum":["NaN","Infinity","-Infinity"],"type":"string"}]}},"required":["doubleValue"],"type":"object"},{"additionalProperties":false,"properties":{"arrayValue":{"additionalProperties":false,"properties":{"values":{"items":{"$ref":"#/components/schemas/OtlpAnyValue"},"type":"array"}},"required":["values"],"type":"object"}},"required":["arrayValue"],"type":"object"},{"additionalProperties":false,"properties":{"kvlistValue":{"additionalProperties":false,"properties":{"values":{"items":{"$ref":"#/components/schemas/OtlpKeyValue"},"type":"array"}},"required":["values"],"type":"object"}},"required":["kvlistValue"],"type":"object"},{"additionalProperties":false,"properties":{"bytesValue":{"type":"string"}},"required":["bytesValue"],"type":"object"},{"additionalProperties":false,"properties":{},"type":"object"}]},"OtlpKeyValue":{"additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"$ref":"#/components/schemas/OtlpAnyValue"}},"required":["key"],"type":"object"},"OtpLockedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OTP_LOCKED","status":409,"title":"OTP Locked","type":"https://photon.codes/docs/problems/otp-locked"},"properties":{"code":{"const":"OTP_LOCKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"OTP Locked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/otp-locked","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OtpRateLimitedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OTP_RATE_LIMITED","status":429,"title":"OTP Rate Limited","type":"https://photon.codes/docs/problems/otp-rate-limited"},"properties":{"code":{"const":"OTP_RATE_LIMITED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"OTP Rate Limited","type":"string"},"type":{"const":"https://photon.codes/docs/problems/otp-rate-limited","type":"string"}},"required":["code","status","title","type"],"type":"object"},"OtpVerificationRejectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"OTP_VERIFICATION_REJECTED","status":422,"title":"OTP Verification Rejected","type":"https://photon.codes/docs/problems/otp-verification-rejected"},"properties":{"code":{"const":"OTP_VERIFICATION_REJECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"OTP Verification Rejected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/otp-verification-rejected","type":"string"}},"required":["code","status","title","type"],"type":"object"},"PayloadTooLargeProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PAYLOAD_TOO_LARGE","status":413,"title":"Payload Too Large","type":"https://photon.codes/docs/problems/payload-too-large"},"properties":{"code":{"const":"PAYLOAD_TOO_LARGE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":413,"type":"number"},"title":{"const":"Payload Too Large","type":"string"},"type":{"const":"https://photon.codes/docs/problems/payload-too-large","type":"string"}},"required":["code","status","title","type"],"type":"object"},"PaymentMethod":{"additionalProperties":false,"properties":{"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Card network brand, e.g. visa."},"expiresMonth":{"anyOf":[{"maximum":12,"minimum":1,"type":"integer"},{"type":"null"}],"description":"Card expiration month."},"expiresYear":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"Four-digit card expiration year."},"last4":{"anyOf":[{"pattern":"^\\d{4}$","type":"string"},{"type":"null"}],"description":"Last four card digits."}},"required":["brand","expiresMonth","expiresYear","last4"],"type":"object"},"PaymentMode":{"enum":["automatic","manual"],"type":"string","x-enumDescriptions":{"automatic":"Charged to the payer's payment method when issued.","manual":"Paid outside the payment provider."}},"PaymentProviderNotReadyProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PAYMENT_PROVIDER_NOT_READY","status":503,"title":"Payment Provider Not Ready","type":"https://photon.codes/docs/problems/payment-provider-not-ready"},"properties":{"code":{"const":"PAYMENT_PROVIDER_NOT_READY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Payment Provider Not Ready","type":"string"},"type":{"const":"https://photon.codes/docs/problems/payment-provider-not-ready","type":"string"}},"required":["code","status","title","type"],"type":"object"},"PendingBillingOperation":{"additionalProperties":false,"properties":{"failure":{"type":"null"},"kind":{"$ref":"#/components/schemas/BillingOperationKind"},"operationId":{"description":"Stable handle for this provisioning action.","type":"string"},"paymentAction":{"anyOf":[{"$ref":"#/components/schemas/BillingPaymentAction"},{"type":"null"}],"description":"Set while a payment the operation waits for needs the customer's authentication. Completing it within the payment window completes the operation."},"resolvedAt":{"type":"null"},"result":{"type":"null"},"status":{"const":"pending","description":"Accepted and still executing. Poll the operation route.","type":"string"},"submittedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["failure","kind","operationId","submittedAt","paymentAction","resolvedAt","result","status"],"type":"object"},"PhoneCarrier":{"additionalProperties":false,"minProperties":1,"properties":{"lineType":{"minLength":1,"type":"string"},"mobileCountryCode":{"pattern":"^[0-9]{3}$","type":"string"},"mobileNetworkCode":{"pattern":"^[0-9]{2,3}$","type":"string"},"name":{"minLength":1,"type":"string"},"normalizedName":{"minLength":1,"type":"string"}},"type":"object"},"PhoneNotSmsCapableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PHONE_NOT_SMS_CAPABLE","status":422,"title":"Phone Is Not SMS Capable","type":"https://photon.codes/docs/problems/phone-not-sms-capable"},"properties":{"code":{"const":"PHONE_NOT_SMS_CAPABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Phone Is Not SMS Capable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/phone-not-sms-capable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"PhotonVersion":{"enum":["2026-07-01"],"type":"string"},"PlanSource":{"enum":["catalog","override"],"type":"string","x-enumDescriptions":{"catalog":"A plan published in the catalog, unchanged.","override":"Terms of its own: a plan override on the subscription, or a plan outside the published catalog."}},"Platform":{"enum":["sms","email","whatsapp","whatsapp_business","imessage","telegram"],"type":"string"},"PlatformConnectionStatusChangedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsPlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/WhatsappPlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessPlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/EmailPlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/VoicePlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/ImessagePlatformConnectionStatusChangedEvent"},{"$ref":"#/components/schemas/TelegramPlatformConnectionStatusChangedEvent"}]},"PlatformIdentifier":{"pattern":"^[a-z][a-z0-9_-]*$","type":"string"},"PlatformMessage":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/SupportedPlatformConstraint"}],"example":{"content":{"format":"plain","text":"Hello from Photon.","type":"text"},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}},"PlatformSendingPausedEvent":{"anyOf":[{"$ref":"#/components/schemas/EmailPlatformSendingPausedEvent"}]},"PlatformSendingResumedEvent":{"anyOf":[{"$ref":"#/components/schemas/EmailPlatformSendingResumedEvent"}]},"PlatformSpace":{"allOf":[{"$ref":"#/components/schemas/Space"},{"$ref":"#/components/schemas/SupportedPlatformConstraint"}],"example":{"createdAt":"2026-01-01T00:00:00.000Z","details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","updatedAt":"2026-01-01T00:00:00.000Z"}},"PlatformUser":{"allOf":[{"$ref":"#/components/schemas/User"},{"$ref":"#/components/schemas/SupportedPlatformConstraint"}],"example":{"createdAt":"2026-01-01T00:00:00.000Z","details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","updatedAt":"2026-01-01T00:00:00.000Z"}},"PollContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"options":{"items":{"$ref":"#/components/schemas/PollOption"},"minItems":1,"type":"array"},"question":{"minLength":1,"type":"string"},"selectionMode":{"$ref":"#/components/schemas/PollSelectionMode"},"type":{"const":"poll","type":"string"}},"required":["type","question","options","selectionMode"],"type":"object"},"PollOption":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"text":{"minLength":1,"type":"string"}},"required":["id","text"],"type":"object"},"PollSelectionMode":{"enum":["single","multiple"],"type":"string"},"PollUpdateContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"options":{"items":{"$ref":"#/components/schemas/PollOption"},"minItems":1,"type":"array"},"question":{"minLength":1,"type":"string"},"selectionMode":{"$ref":"#/components/schemas/PollSelectionMode"},"type":{"const":"poll.update","type":"string"}},"required":["type","question","options","selectionMode"],"type":"object"},"PollVoteContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"selectedOptions":{"items":{"$ref":"#/components/schemas/PollOption"},"type":"array"},"type":{"const":"poll.vote","type":"string"}},"required":["type","selectedOptions"],"type":"object"},"PreviewOrganizationChangeConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/FailedPreconditionProblem"},{"$ref":"#/components/schemas/PromotionCodeRejectedProblem"}]},"PreviewOrganizationChangeForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"PreviewOrganizationChangeGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"PreviewOrganizationChangeInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"PreviewOrganizationChangeRequest":{"additionalProperties":false,"properties":{"fixedCharge":{"$ref":"#/components/schemas/FixedChargeChange"},"promotionCode":{"description":"A promotion code the customer entered, previewed as the purchase redeems it, on an increase only: dueNow and upcomingInvoices are discounted by it. Needs billing:manage. A refused code fails the preview with PROMOTION_CODE_REJECTED, its reason as a refused purchase's failure detail.","maxLength":255,"minLength":1,"type":"string"}},"required":["fixedCharge"],"type":"object"},"PreviewOrganizationChangeResponse":{"additionalProperties":false,"properties":{"balanceAfterCents":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"The payer's credit balance once dueNow is charged: the credit the change issues included, less what dueNow uses. In dueNow's currency. Null when the change charges nothing now (a downgrade)."},"change":{"description":"What the change does beside what it bills, by the kind of change requested: fixed_charge for a fixed-charge change, plan_change for a plan change.","oneOf":[{"$ref":"#/components/schemas/BillingFixedChargeEffect"},{"$ref":"#/components/schemas/BillingPlanChangeEffect"}]},"dueLater":{"$ref":"#/components/schemas/BillingPreviewDeferred"},"dueNow":{"$ref":"#/components/schemas/BillingPreviewInvoice"},"nextCharge":{"anyOf":[{"$ref":"#/components/schemas/BillingNextCharge"},{"type":"null"}],"description":"What is charged next for all that is held after the change: the first of upcomingInvoices, at its time and total, after coupons, with taxes, before credits. For a downgrade, the target plan's first charge at the period end. Usage and a minimum commitment are billed after the period. Null when nothing is charged, or the subscription ends first."},"nextInvoiceAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"For an organization that pays by invoice: when its next monthly invoice is drafted, which bills the change instead of dueNow. A fixed-charge change's units go on it, in dueLater; an upgrade's new plan and dueLater too, while dueNow is the replaced plan's invoice, issued at once and due on the organization's terms. Null when dueNow is charged with the change."},"timeZone":{"description":"The IANA time zone the payer is billed in, e.g. America/Los_Angeles. Billing periods start and end at its midnights, so read their calendar dates in it.","type":"string"},"upcomingInvoices":{"description":"The invoices the subscription the change leaves issues in the following periods, assuming no later change: one, and another while a coupon with an end discounted the last, so the last listed is the price from then on. At most 24. For a change at the period end (a downgrade, or the held plan kept), the first is what the invoice due then bills for it.","items":{"$ref":"#/components/schemas/BillingUpcomingInvoice"},"type":"array"}},"required":["balanceAfterCents","change","dueLater","dueNow","nextCharge","nextInvoiceAt","timeZone","upcomingInvoices"],"type":"object"},"PreviewOrganizationInvitationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"PreviewOrganizationInvitationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"PreviewOrganizationInvitationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"PreviewOrganizationInvitationRequest":{"additionalProperties":false,"properties":{"token":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"}},"required":["token"],"type":"object"},"PreviewOrganizationInvitationResponse":{"additionalProperties":false,"properties":{"allProjects":{"const":true,"type":"boolean"},"emailMatches":{"type":"boolean"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"inviter":{"anyOf":[{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"avatarUrl":{"type":"string"},"maskedEmail":{"type":"string"},"name":{"type":["string","null"]}},"required":["accountId","avatarUrl","maskedEmail","name"],"type":"object"},{"type":"null"}]},"maskedEmail":{"type":"string"},"memberCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"organizationAvatarUrl":{"type":["string","null"]},"organizationId":{"type":"string"},"organizationName":{"type":"string"},"role":{"enum":["member","viewer"],"type":"string"},"ssoRequired":{"type":"boolean"},"status":{"enum":["pending","accepted"],"type":"string"}},"required":["allProjects","emailMatches","expiresAt","inviter","maskedEmail","memberCount","organizationAvatarUrl","organizationId","organizationName","role","ssoRequired","status"],"type":"object"},"PreviewProjectChangeConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/FailedPreconditionProblem"},{"$ref":"#/components/schemas/PromotionCodeRejectedProblem"}]},"PreviewProjectChangeForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"PreviewProjectChangeGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"PreviewProjectChangeInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"PreviewProjectChangeRequest":{"anyOf":[{"$ref":"#/components/schemas/BillingPreviewFixedChargeChange"},{"$ref":"#/components/schemas/BillingPreviewPlanChange"}]},"PreviewProjectChangeResponse":{"additionalProperties":false,"properties":{"balanceAfterCents":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"The payer's credit balance once dueNow is charged: the credit the change issues included, less what dueNow uses. In dueNow's currency. Null when the change charges nothing now (a downgrade)."},"change":{"description":"What the change does beside what it bills, by the kind of change requested: fixed_charge for a fixed-charge change, plan_change for a plan change.","oneOf":[{"$ref":"#/components/schemas/BillingFixedChargeEffect"},{"$ref":"#/components/schemas/BillingPlanChangeEffect"}]},"dueLater":{"$ref":"#/components/schemas/BillingPreviewDeferred"},"dueNow":{"$ref":"#/components/schemas/BillingPreviewInvoice"},"nextCharge":{"anyOf":[{"$ref":"#/components/schemas/BillingNextCharge"},{"type":"null"}],"description":"What is charged next for all that is held after the change: the first of upcomingInvoices, at its time and total, after coupons, with taxes, before credits. For a downgrade, the target plan's first charge at the period end. Usage and a minimum commitment are billed after the period. Null when nothing is charged, or the subscription ends first."},"nextInvoiceAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"For an organization that pays by invoice: when its next monthly invoice is drafted, which bills the change instead of dueNow. A fixed-charge change's units go on it, in dueLater; an upgrade's new plan and dueLater too, while dueNow is the replaced plan's invoice, issued at once and due on the organization's terms. Null when dueNow is charged with the change."},"timeZone":{"description":"The IANA time zone the payer is billed in, e.g. America/Los_Angeles. Billing periods start and end at its midnights, so read their calendar dates in it.","type":"string"},"upcomingInvoices":{"description":"The invoices the subscription the change leaves issues in the following periods, assuming no later change: one, and another while a coupon with an end discounted the last, so the last listed is the price from then on. At most 24. For a change at the period end (a downgrade, or the held plan kept), the first is what the invoice due then bills for it.","items":{"$ref":"#/components/schemas/BillingUpcomingInvoice"},"type":"array"}},"required":["balanceAfterCents","change","dueLater","dueNow","nextCharge","nextInvoiceAt","timeZone","upcomingInvoices"],"type":"object"},"ProblemDetails":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"pattern":"^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"title":{"minLength":1,"type":"string"},"type":{"format":"uri","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ProblemRemediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"documentation":{"format":"uri","type":"string"}},"required":["action"],"type":"object"},"ProfileNotReadyProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROFILE_NOT_READY","status":409,"title":"Profile Not Ready","type":"https://photon.codes/docs/problems/profile-not-ready"},"properties":{"code":{"const":"PROFILE_NOT_READY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Profile Not Ready","type":"string"},"type":{"const":"https://photon.codes/docs/problems/profile-not-ready","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ProfilePictureContentType":{"enum":["image/jpeg","image/png","image/webp"],"type":"string"},"ProfilePictureUpload":{"additionalProperties":false,"properties":{"expiresAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"formFields":{"$ref":"#/components/schemas/ProfilePictureUploadFormFields"},"uploadId":{"type":"string"},"uploadUrl":{"format":"uri","type":"string"}},"required":["expiresAt","formFields","uploadId","uploadUrl"],"type":"object"},"ProfilePictureUploadFormFields":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"ProfilePictureUploadRequest":{"additionalProperties":false,"properties":{"contentType":{"$ref":"#/components/schemas/ProfilePictureContentType"}},"required":["contentType"],"type":"object"},"ProfileUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROFILE_UNAVAILABLE","status":409,"title":"Profile Unavailable","type":"https://photon.codes/docs/problems/profile-unavailable"},"properties":{"code":{"const":"PROFILE_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Profile Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/profile-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"Project":{"additionalProperties":false,"properties":{"agentProfile":{"$ref":"#/components/schemas/AgentProfile"},"billingInitialization":{"$ref":"#/components/schemas/ProjectBillingInitialization"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"createdByAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdByActorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdByActorKind":{"anyOf":[{"$ref":"#/components/schemas/ProjectCreatedByActorKind"},{"type":"null"}]},"deletedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"name":{"type":"string"},"organizationId":{"type":"string"},"projectId":{"type":"string"},"slug":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["agentProfile","createdAt","createdByAccountId","createdByActorId","createdByActorKind","deletedAt","name","organizationId","projectId","slug","updatedAt"],"type":"object"},"ProjectApiKeyResponse":{"additionalProperties":false,"properties":{"apiKey":{"$ref":"#/components/schemas/ApiKey"}},"required":["apiKey"],"type":"object"},"ProjectBillingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"ProjectClosingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROJECT_CLOSING","status":409,"title":"Project Is Closing","type":"https://photon.codes/docs/problems/project-closing"},"properties":{"code":{"const":"PROJECT_CLOSING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Project Is Closing","type":"string"},"type":{"const":"https://photon.codes/docs/problems/project-closing","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ProjectClosureDomain":{"enum":["projects","billing","platforms","call_registry"],"type":"string"},"ProjectClosureDomainStatus":{"additionalProperties":{},"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"domain":{"$ref":"#/components/schemas/ProjectClosureDomain"},"ready":{"type":"boolean"}},"required":["blockers","domain","ready"],"type":"object"},"ProjectCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["count"],"type":"object"},"ProjectCreatedByActorKind":{"enum":["account","service_identity"],"type":"string"},"ProjectCreditSubject":{"additionalProperties":false,"properties":{"projectId":{"type":"string"},"type":{"const":"project","type":"string"}},"required":["projectId","type"],"type":"object"},"ProjectDeletedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROJECT_DELETED","status":410,"title":"Project Deleted","type":"https://photon.codes/docs/problems/project-deleted"},"properties":{"code":{"const":"PROJECT_DELETED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"title":{"const":"Project Deleted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/project-deleted","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ProjectHeldPlan":{"additionalProperties":false,"properties":{"baseAmountCents":{"description":"The plan's recurring base fee in whole cents.","maximum":9007199254740991,"minimum":0,"type":"integer"},"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"categoryDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"Display name for the subscription category; absent or null when unconfigured."},"currency":{"description":"ISO currency code.","type":"string"},"minimumCommitment":{"anyOf":[{"$ref":"#/components/schemas/BillingPlanMinimumCommitment"},{"type":"null"}]},"planCode":{"description":"This category's plan.","type":"string"},"planName":{"description":"The plan's customer-facing name, e.g. Messaging Pro.","type":"string"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"},"tierDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"The plan's tier as customers see it, e.g. Pro for Messaging Pro, where the category is already clear. Null when unconfigured."}},"required":["category","baseAmountCents","currency","minimumCommitment","planCode","planName","status","tierDisplayName"],"type":"object"},"ProjectId":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"ProjectInvoiceSubject":{"additionalProperties":false,"properties":{"projectId":{"type":"string"},"type":{"const":"project","type":"string"}},"required":["projectId","type"],"type":"object"},"ProjectNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROJECT_NOT_FOUND","status":404,"title":"Project Not Found","type":"https://photon.codes/docs/problems/project-not-found"},"properties":{"code":{"const":"PROJECT_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Project Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/project-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ProjectPage":{"additionalProperties":false,"properties":{"nextPageToken":{"type":"string"},"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"required":["projects"],"type":"object"},"ProjectPlatformSettings":{"oneOf":[{"$ref":"#/components/schemas/SharedProjectPlatformSettings"},{"$ref":"#/components/schemas/DedicatedProjectPlatformSettings"}]},"ProjectSubscription":{"additionalProperties":false,"properties":{"baseAmountCents":{"description":"The plan's recurring base fee in whole cents.","maximum":9007199254740991,"minimum":0,"type":"integer"},"cancelsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the subscription will end instead of renewing, ISO 8601."},"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"categoryDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"Display name for the subscription category; absent or null when unconfigured."},"currency":{"description":"ISO currency code.","type":"string"},"currentPeriodEnd":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End of the current billing period, ISO 8601."},"entitlements":{"description":"Feature gates granted by this category's plan.","items":{"$ref":"#/components/schemas/ProjectSubscriptionEntitlement"},"type":"array"},"fixedCharges":{"description":"Fixed charges defined by this category's current plan. Quantity is the plan default.","items":{"$ref":"#/components/schemas/FixedCharge"},"type":"array"},"minimumCommitment":{"anyOf":[{"$ref":"#/components/schemas/BillingPlanMinimumCommitment"},{"type":"null"}]},"planCode":{"description":"This category's plan.","type":"string"},"planName":{"description":"The plan's customer-facing name, e.g. Messaging Pro.","type":"string"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"},"tierDisplayName":{"anyOf":[{"maxLength":255,"minLength":1,"type":"string"},{"type":"null"}],"description":"The plan's tier as customers see it, e.g. Pro for Messaging Pro, where the category is already clear. Null when unconfigured."}},"required":["cancelsAt","category","currentPeriodEnd","entitlements","fixedCharges","baseAmountCents","currency","minimumCommitment","planCode","planName","status","tierDisplayName"],"type":"object"},"ProjectSubscriptionEntitlement":{"additionalProperties":false,"properties":{"featureKey":{"description":"Feature gate key, e.g. imessage_shared_lines.max_user_assignments.","type":"string"},"value":{"description":"Gate value as a string.","type":"string"}},"required":["featureKey","value"],"type":"object"},"PromotionCodeRejectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"PROMOTION_CODE_REJECTED","reason":"promotion_code_expired","remediation":{"action":"Try again without the promotion code, or with another one."},"status":409,"title":"Promotion Code Rejected","type":"https://photon.codes/docs/problems/promotion-code-rejected"},"properties":{"code":{"const":"PROMOTION_CODE_REJECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"reason":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Promotion Code Rejected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/promotion-code-rejected","type":"string"}},"required":["reason","code","remediation","status","title","type"],"type":"object"},"ProvisionImessageDedicatedLineBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ProvisionImessageDedicatedLineConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/PromotionCodeRejectedProblem"},{"$ref":"#/components/schemas/ProjectClosingProblem"}]},"ProvisionImessageDedicatedLineForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ProvisionImessageDedicatedLineGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ProvisionImessageDedicatedLineInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ProvisionImessageDedicatedLinePaymentRequiredProblem":{"oneOf":[{"$ref":"#/components/schemas/EntitlementRequiredProblem"},{"$ref":"#/components/schemas/EnterprisePlanRequiredProblem"}]},"ProvisionImessageDedicatedLineRequest":{"properties":{"promotionCode":{"description":"A promotion code to apply to this line's charge. Billing takes a fixed amount off the charge. The code is checked and claimed when the request is accepted, even if the line has to wait for inventory: a code that can't be used answers 409 PROMOTION_CODE_REJECTED and starts nothing, and one accepted still applies if it later expires. A purchase that ends without a line gives the code back. Part of the request's identity: repeating the Idempotency-Key with a different code, or none, is refused.","maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"ProvisionImessageDedicatedLineServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ProvisionImessageDedicatedLineUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ProvisionWhatsappDedicatedLineBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ProvisionWhatsappDedicatedLineConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/PromotionCodeRejectedProblem"},{"$ref":"#/components/schemas/ProjectClosingProblem"}]},"ProvisionWhatsappDedicatedLineForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ProvisionWhatsappDedicatedLineGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ProvisionWhatsappDedicatedLineInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ProvisionWhatsappDedicatedLinePaymentRequiredProblem":{"oneOf":[{"$ref":"#/components/schemas/EntitlementRequiredProblem"},{"$ref":"#/components/schemas/EnterprisePlanRequiredProblem"}]},"ProvisionWhatsappDedicatedLineRequest":{"properties":{"promotionCode":{"description":"A promotion code to apply to this line's charge. Billing takes a fixed amount off the charge. The code is checked and claimed when the request is accepted, even if the line has to wait for inventory: a code that can't be used answers 409 PROMOTION_CODE_REJECTED and starts nothing, and one accepted still applies if it later expires. A purchase that ends without a line gives the code back. Part of the request's identity: repeating the Idempotency-Key with a different code, or none, is refused.","maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"ProvisionWhatsappDedicatedLineServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ProvisionWhatsappDedicatedLineUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"PurchaseSmsNumberBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"PurchaseSmsNumberForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"PurchaseSmsNumberGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"PurchaseSmsNumberInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"PurchaseSmsNumberRequest":{"additionalProperties":false,"properties":{"areaCode":{"pattern":"^[2-9][0-9]{2}$","type":"string"},"countryCode":{"const":"US","type":"string"},"promotionCode":{"description":"A promotion code to redeem with this number's charge. Billing takes a fixed amount off the charge. The charge follows delivery, so a code Billing refuses hands the number back, and the release operation carries the refusal. Part of the request's identity: repeating the Idempotency-Key with a different code, or none, is refused.","maxLength":255,"minLength":1,"type":"string"}},"required":["countryCode"],"type":"object"},"PurchaseSmsNumberServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/BillingEntitlementsPendingProblem"},{"$ref":"#/components/schemas/BillingNotProvisionedProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"PurchaseSmsNumberUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"QueryConcurrencyLimitProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"QUERY_CONCURRENCY_LIMIT","status":429,"title":"Query Concurrency Limit","type":"https://photon.codes/docs/problems/query-concurrency-limit"},"properties":{"code":{"const":"QUERY_CONCURRENCY_LIMIT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"Query Concurrency Limit","type":"string"},"type":{"const":"https://photon.codes/docs/problems/query-concurrency-limit","type":"string"}},"required":["code","status","title","type"],"type":"object"},"QueryDeveloperOtelBadGatewayProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamFailureProblem"},{"$ref":"#/components/schemas/ExecutionFailedProblem"}]},"QueryDeveloperOtelBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/InvalidQueryProblem"},{"$ref":"#/components/schemas/ForbiddenSqlProblem"},{"$ref":"#/components/schemas/InvalidParameterProblem"}]},"QueryDeveloperOtelForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"QueryDeveloperOtelGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/TimeoutProblem"}]},"QueryDeveloperOtelInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"QueryDeveloperOtelResponse":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"],"type":"object"},"type":"array"},"rows":{"items":{"items":{},"type":"array"},"type":"array"},"statistics":{"additionalProperties":false,"properties":{"bytesRead":{"minimum":0,"type":"number"},"elapsedSeconds":{"minimum":0,"type":"number"},"rowsRead":{"minimum":0,"type":"number"}},"required":["bytesRead","elapsedSeconds","rowsRead"],"type":"object"}},"required":["columns","rows","statistics"],"type":"object"},"QueryDeveloperOtelUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/ResourceLimitProblem"},{"$ref":"#/components/schemas/UnsupportedTypeProblem"}]},"QueryMessageMetricsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"QueryMessageMetricsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"QueryMessageMetricsResponse":{"additionalProperties":false,"properties":{"columns":{"items":{"$ref":"#/components/schemas/MessageMetricsQueryColumn"},"type":"array"},"rows":{"items":{"items":{},"type":"array"},"type":"array"},"statistics":{"$ref":"#/components/schemas/MessageMetricsQueryStatistics"}},"required":["columns","rows","statistics"],"type":"object"},"QueryMessageMetricsUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/QueryResourceLimitProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"QueryResourceLimitProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"QUERY_RESOURCE_LIMIT","status":422,"title":"Query Resource Limit","type":"https://photon.codes/docs/problems/query-resource-limit"},"properties":{"code":{"const":"QUERY_RESOURCE_LIMIT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Query Resource Limit","type":"string"},"type":{"const":"https://photon.codes/docs/problems/query-resource-limit","type":"string"}},"required":["code","status","title","type"],"type":"object"},"RateLimitedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"RATE_LIMITED","status":429,"title":"Too Many Requests","type":"https://photon.codes/docs/problems/rate-limited"},"properties":{"code":{"const":"RATE_LIMITED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":429,"type":"number"},"title":{"const":"Too Many Requests","type":"string"},"type":{"const":"https://photon.codes/docs/problems/rate-limited","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ReactionContent":{"additionalProperties":false,"properties":{"action":{"not":{}},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"reaction":{"minLength":1,"type":"string"},"type":{"const":"reaction","type":"string"}},"required":["type","reaction"],"type":"object"},"ReceivedEmailMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/EmailMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"email","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedImessageMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/ImessageMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"imessage","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedMessageTimestamps":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"deliveredAt":{"not":{}},"dispatchedAt":{"not":{}},"failedAt":{"not":{}},"receivedAt":{"description":"Authoritative source receipt or observation time, preserved across replay.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["receivedAt"],"type":"object"},"ReceivedSmsMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/SmsMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedTelegramMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/TelegramMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedUnknownMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/Content"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedWhatsappBusinessMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappBusinessMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"ReceivedWhatsappMessage":{"additionalProperties":false,"properties":{"acceptance":{"not":{}},"addressedTo":{"$ref":"#/components/schemas/UserSnapshot"},"content":{"$ref":"#/components/schemas/WhatsappMessageContent"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"failure":{"not":{}},"id":{"$ref":"#/components/schemas/MessageId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"parentMessageId":{"$ref":"#/components/schemas/MessageId"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"receivedBy":{"$ref":"#/components/schemas/UserSnapshot"},"sentBy":{"$ref":"#/components/schemas/UserSnapshot"},"space":{"$ref":"#/components/schemas/SpaceSnapshot"},"status":{"const":"received","type":"string"},"timestamp":{"not":{}},"timestamps":{"$ref":"#/components/schemas/ReceivedMessageTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","space","sentBy","content","metadata","createdAt","updatedAt","status","timestamps"],"type":"object"},"RecipientInvalidFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"recipient_invalid","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"RecipientOptedOutFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"recipient_opted_out","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"RecipientUnreachableFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"recipient_unreachable","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"RedeemAppInstallationDeliveryGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RedeemAppInstallationDeliveryRequest":{"additionalProperties":false,"properties":{"appId":{"pattern":"^pho_app_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"clientAssertion":{"maxLength":16384,"minLength":1,"type":"string"},"code":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"}},"required":["appId","clientAssertion","code"],"type":"object"},"RedeemAppInstallationDeliveryResponse":{"oneOf":[{"$ref":"#/components/schemas/CreatedAppInstallationDelivery"},{"$ref":"#/components/schemas/ExistingAppInstallationDelivery"}]},"RefreshOrganizationSsoConnectionBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"RefreshOrganizationSsoConnectionForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"RefreshOrganizationSsoConnectionGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RefreshOrganizationSsoConnectionInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RefreshOrganizationSsoConnectionPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"RefreshTokenGrantRequest":{"properties":{"grant_type":{"const":"refresh_token","description":"Selects the refresh-token grant to obtain a new token pair.","type":"string"},"refresh_token":{"description":"Most recently issued refresh token. Required for a refresh grant; replace it with the returned refresh_token after success.","minLength":1,"type":"string"}},"required":["grant_type","refresh_token"],"type":"object"},"RegistrationDetailsUnchangedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"REGISTRATION_DETAILS_UNCHANGED","status":409,"title":"Registration Details Unchanged","type":"https://photon.codes/docs/problems/registration-details-unchanged"},"properties":{"code":{"const":"REGISTRATION_DETAILS_UNCHANGED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Registration Details Unchanged","type":"string"},"type":{"const":"https://photon.codes/docs/problems/registration-details-unchanged","type":"string"}},"required":["code","status","title","type"],"type":"object"},"RejectedCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"rejected","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"ReleaseImessageDedicatedLineForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReleaseImessageDedicatedLineGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReleaseImessageDedicatedLineInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ReleaseResourceConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/WhatsappSenderConnectedProblem"},{"$ref":"#/components/schemas/WhatsappSenderProvisioningProblem"}]},"ReleaseResourceForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReleaseResourceGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReleaseResourceInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ReleaseSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReleaseSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReleaseSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ReleaseWhatsappDedicatedLineForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReleaseWhatsappDedicatedLineGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReleaseWhatsappDedicatedLineInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ReleaseWhatsappSharedLineAssignmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReleaseWhatsappSharedLineAssignmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReleaseWhatsappSharedLineAssignmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RemoveImessageContactProfilePictureBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RemoveImessageContactProfilePictureConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/ImessageContactProfileVersionConflictProblem"},{"$ref":"#/components/schemas/ImessageContactProfileChangeInProgressProblem"},{"$ref":"#/components/schemas/ImessageContactProfileNotCustomProblem"}]},"RemoveImessageContactProfilePictureForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RemoveImessageContactProfilePictureGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"RemoveImessageContactProfilePictureInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RemoveImessageContactProfilePictureUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RemoveOrganizationAvatarBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RemoveOrganizationAvatarConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"RemoveOrganizationAvatarForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RemoveOrganizationAvatarGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RemoveOrganizationAvatarRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"RemoveOrganizationAvatarResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"RemoveOrganizationAvatarUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RemoveOrganizationMemberBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RemoveOrganizationMemberConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationTransferToSelfProblem"},{"$ref":"#/components/schemas/OrganizationOwnerInvariantProblem"},{"$ref":"#/components/schemas/OrganizationOwnerProtectedProblem"},{"$ref":"#/components/schemas/OrganizationSelfManagementForbiddenProblem"},{"$ref":"#/components/schemas/OrganizationMembershipVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationMemberRemovedProblem"},{"$ref":"#/components/schemas/OrganizationRecoveryRequiredProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"RemoveOrganizationMemberForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RemoveOrganizationMemberGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RemoveOrganizationMemberRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"RemoveOrganizationMemberResponse":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version"],"type":"object"},"RemoveOrganizationMemberUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RepairAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RepairAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"RepairAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RepairAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RepairAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"RepairAppInstallationRequest":{"additionalProperties":false,"properties":{"expectedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"requestId":{"type":"string"}},"required":["expectedAppVersion","requestId","expectedVersion"],"type":"object"},"RepairAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"RepairAppInstallationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ReplaceVoiceProfileInboundConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"}]},"ReplaceVoiceProfileInboundForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ReplaceVoiceProfileInboundGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ReplaceVoiceProfileInboundInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ReplaceVoiceProfileInboundRequest":{"additionalProperties":false,"properties":{"credentials":{"anyOf":[{"$ref":"#/components/schemas/SipInboundCredentialsWithPassword"},{"type":"null"}]},"destinationUri":{"maxLength":2048,"minLength":1,"type":"string"},"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["credentials","destinationUri","expectedVersion"],"type":"object"},"RequestTimeoutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"REQUEST_TIMEOUT","status":504,"title":"Request Timeout","type":"https://photon.codes/docs/problems/request-timeout"},"properties":{"code":{"const":"REQUEST_TIMEOUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Request Timeout","type":"string"},"type":{"const":"https://photon.codes/docs/problems/request-timeout","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ResendOrganizationInvitationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ResendOrganizationInvitationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"ResendOrganizationInvitationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ResendOrganizationInvitationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ResendOrganizationInvitationResponse":{"additionalProperties":false,"properties":{"acceptedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"acceptedByAccountId":{"type":["string","null"]},"allProjects":{"const":true,"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"invitationId":{"type":"string"},"invitedByAccountId":{"type":"string"},"organizationId":{"type":"string"},"role":{"enum":["member","viewer"],"type":"string"},"status":{"enum":["pending","accepted","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["acceptedAt","acceptedByAccountId","allProjects","createdAt","email","expiresAt","invitationId","invitedByAccountId","organizationId","role","status","updatedAt"],"type":"object"},"ResendOrganizationInvitationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ResetAccountProfilePictureBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"ResetAccountProfilePictureForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ResetAccountProfilePictureGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ResetAccountProfilePictureGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"ResetAccountProfilePictureInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ResetAccountProfilePictureUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"ResetAgentProfileAvatarBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ResetAgentProfileAvatarForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ResetAgentProfileAvatarGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ResetAgentProfileAvatarUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"Resource":{"additionalProperties":false,"properties":{"abilities":{"items":{"type":"string"},"type":"array"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"detail":{"additionalProperties":{},"description":"Per-type public detail. Only voip_line includes activationState: activating or active. Every voip_line includes it; without an owner-matched saved record it defaults to active. This includes imported, legacy and unallocated numbers. This is not provider-confirmed readiness; elapsed time alone never changes saved activation. A retired number retains its saved activation state.","propertyNames":{"type":"string"},"type":"object"},"projectId":{"type":"string"},"resourceId":{"type":"string"},"retiredAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"state":{"$ref":"#/components/schemas/ResourceState"},"type":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["abilities","createdAt","detail","projectId","resourceId","state","type","updatedAt"],"type":"object"},"ResourceId":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"ResourceLimitProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"RESOURCE_LIMIT","status":422,"title":"Developer OTel Query Resource Limit","type":"https://photon.codes/docs/problems/developer-otel-query-resource-limit"},"properties":{"code":{"const":"RESOURCE_LIMIT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Developer OTel Query Resource Limit","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-query-resource-limit","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ResourceMetadata":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"displayName":{"minLength":1,"type":"string"},"email":{"$ref":"#/components/schemas/EmailMetadata"},"spam":{"$ref":"#/components/schemas/SpamClassification"}},"type":"object"},"ResourceMismatchProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"RESOURCE_MISMATCH","status":403,"title":"Resource Mismatch","type":"https://photon.codes/docs/problems/resource-mismatch"},"properties":{"code":{"const":"RESOURCE_MISMATCH","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Resource Mismatch","type":"string"},"type":{"const":"https://photon.codes/docs/problems/resource-mismatch","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ResourceNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"RESOURCE_NOT_FOUND","status":404,"title":"Resource Not Found","type":"https://photon.codes/docs/problems/resource-not-found"},"properties":{"code":{"const":"RESOURCE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Resource Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/resource-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ResourcePage":{"additionalProperties":false,"properties":{"nextPageToken":{"type":"string"},"resources":{"items":{"$ref":"#/components/schemas/Resource"},"type":"array"}},"required":["resources"],"type":"object"},"ResourceState":{"enum":["unallocated","active","retired"],"type":"string"},"ResubmitTenDlcCampaignBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ResubmitTenDlcCampaignConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/InvalidCampaignStateProblem"},{"$ref":"#/components/schemas/CampaignRegistrationUnavailableProblem"}]},"ResubmitTenDlcCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ResubmitTenDlcCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"ResubmitTenDlcCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ResubmitTenDlcCampaignNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/BrandNotFoundProblem"},{"$ref":"#/components/schemas/CampaignNotFoundProblem"}]},"ResubmitTenDlcCampaignPaymentRequiredProblem":{"oneOf":[{"$ref":"#/components/schemas/CampaignRegistrationPaymentFailedProblem"},{"$ref":"#/components/schemas/EntitlementRequiredProblem"}]},"ResubmitTenDlcCampaignRequest":{"additionalProperties":false,"properties":{"appealReason":{"maxLength":2000,"minLength":20,"type":"string"},"etag":{"maxLength":256,"minLength":1,"type":"string"}},"required":["etag"],"type":"object"},"ResubmitTenDlcCampaignResponse":{"anyOf":[{"additionalProperties":false,"properties":{"retryAfterSeconds":{"const":2,"type":"number"},"status":{"const":"pending","type":"string"}},"required":["retryAfterSeconds","status"],"type":"object"},{"additionalProperties":false,"properties":{"campaign":{"additionalProperties":false,"properties":{"brandId":{"type":"string"},"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"type":"boolean"},"editableFields":{"items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"currentStep":{"anyOf":[{"enum":["brand_verification","brand_qualification","submission","registration","compliance_review","carrier_processing","carrier_activation","billing_activation"],"type":"string"},{"type":"null"}],"description":"The current or blocked step; null when no active step is known."},"description":{"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"type":"string"},"failureReasons":{"description":"Photon review failure explanations. Empty when none are available for the current attempt.","items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"hasUnsubmittedChanges":{"type":"boolean"},"helpKeywords":{"items":{"type":"string"},"type":"array"},"helpMessage":{"type":"string"},"id":{"type":"string"},"messageFlow":{"type":"string"},"name":{"type":"string"},"optInKeywords":{"items":{"type":"string"},"type":"array"},"optInMessage":{"type":"string"},"optOutKeywords":{"items":{"type":"string"},"type":"array"},"optOutMessage":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"readyAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"reviewRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sampleMessages":{"items":{"type":"string"},"type":"array"},"status":{"description":"Overall campaign state. reviewing means checks are pending; activating means activation is in progress; ready means activation and billing are complete. action_required needs customer corrections; support_required needs support assistance.","enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"},"statusMessage":{"description":"A plain-language explanation of the current campaign state.","type":"string"},"statusReason":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"submittedRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["brandId","capabilities","createdAt","currentStep","description","embeddedLinks","embeddedPhoneNumbers","etag","failureReasons","hasUnsubmittedChanges","helpKeywords","helpMessage","id","messageFlow","name","optInKeywords","optInMessage","optOutKeywords","optOutMessage","privacyPolicyUrl","reviewRevision","revision","sampleMessages","status","statusMessage","submittedRevision","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","updatedAt","useCases"],"type":"object"}},"required":["campaign"],"type":"object"}]},"ResubmitTenDlcCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"ResubmitTenDlcCampaignUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/CampaignValidationFailedProblem"}]},"ResumeAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"ResumeAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"ResumeAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ResumeAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"ResumeAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"ResumeAppInstallationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"ResumeAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"ResumeAppInstallationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RetireAppInstallationConfigBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RetireAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}]},"RetireAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RetireAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RetireAppInstallationConfigRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"RetireAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"RetireAppInstallationConfigUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RetiredApiVersionProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"RETIRED_API_VERSION","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"supportedVersions":{"items":{"type":"string"},"type":"array"},"title":{"const":"Retired API Version","type":"string"},"type":{"const":"https://photon.codes/docs/problems/retired-api-version","type":"string"}},"required":["supportedVersions","code","status","title","type"],"type":"object"},"RetryEnterpriseLoginRequest":{"additionalProperties":false,"properties":{"retryToken":{"pattern":"^enroll_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}},"required":["retryToken"],"type":"object"},"RetryOrganizationConnectionSyncForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"RetryOrganizationConnectionSyncGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RetryOrganizationConnectionSyncInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RetryWebhookDeliveryBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RetryWebhookDeliveryForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RetryWebhookDeliveryRequest":{"additionalProperties":false,"properties":{"eventId":{"type":"string"},"eventType":{"pattern":"^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9_-]*)+$","type":"string"},"expectedAttemptCount":{"maximum":4294967295,"minimum":0,"type":"integer"}},"required":["eventId","eventType","expectedAttemptCount"],"type":"object"},"RetryWebhookDeliveryResponse":{"additionalProperties":false,"properties":{"status":{"const":"accepted","type":"string"}},"required":["status"],"type":"object"},"RevealAppWebhookSigningSecretBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RevealAppWebhookSigningSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RevealAppWebhookSigningSecretResponse":{"oneOf":[{"additionalProperties":false,"properties":{"alreadyRevealed":{"const":true,"type":"boolean"}},"required":["alreadyRevealed"],"type":"object"},{"additionalProperties":false,"properties":{"alreadyRevealed":{"const":false,"type":"boolean"},"signingSecret":{"pattern":"^whsec_[A-Za-z0-9+/]{43}=$","type":"string"}},"required":["alreadyRevealed","signingSecret"],"type":"object"}]},"RevealAppWebhookSigningSecretUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RevokeAccountServiceKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"RevokeAccountServiceKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RevokeAccountServiceKeyGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RevokeAccountServiceKeyGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"RevokeAccountServiceKeyInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RevokeAccountServiceKeyNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountNotFoundProblem"},{"$ref":"#/components/schemas/AccountServiceKeyNotFoundProblem"}]},"RevokeAccountServiceKeyResponse":{"additionalProperties":false,"properties":{"serviceKey":{"$ref":"#/components/schemas/AccountServiceKey"}},"required":["serviceKey"],"type":"object"},"RevokeAccountServiceKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"RevokeAuthorizedApplicationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"RevokeAuthorizedApplicationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RevokeAuthorizedApplicationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RevokeOrganizationInvitationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RevokeOrganizationInvitationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/InvitationExpiredProblem"},{"$ref":"#/components/schemas/InvitationRevokedProblem"},{"$ref":"#/components/schemas/InvitationRoleConflictProblem"},{"$ref":"#/components/schemas/InvitationTerminalProblem"},{"$ref":"#/components/schemas/InvitationPredatesRemovalProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"}]},"RevokeOrganizationInvitationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/InvitationEmailMismatchProblem"},{"$ref":"#/components/schemas/InvitationInviterIneligibleProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RevokeOrganizationInvitationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RevokeOrganizationInvitationResponse":{"additionalProperties":false,"properties":{"acceptedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"acceptedByAccountId":{"type":["string","null"]},"allProjects":{"const":true,"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"invitationId":{"type":"string"},"invitedByAccountId":{"type":"string"},"organizationId":{"type":"string"},"role":{"enum":["member","viewer"],"type":"string"},"status":{"enum":["pending","accepted","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["acceptedAt","acceptedByAccountId","allProjects","createdAt","email","expiresAt","invitationId","invitedByAccountId","organizationId","role","status","updatedAt"],"type":"object"},"RevokeOrganizationInvitationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RevokeProjectApiKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"RevokeProjectApiKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RevokeProjectApiKeyNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectNotFoundProblem"},{"$ref":"#/components/schemas/ApiKeyNotFoundProblem"}]},"RevokeProjectApiKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RevokeServiceIdentityCredentialBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RevokeServiceIdentityCredentialConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceCredentialConflictProblem"}]},"RevokeServiceIdentityCredentialForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RevokeServiceIdentityCredentialGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RevokeServiceIdentityCredentialRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"RevokeServiceIdentityCredentialResponse":{"additionalProperties":false,"properties":{"bound":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"creationStartedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"credentialId":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"deliveryConsumedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"expiresAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"hint":{"type":["string","null"]},"kind":{"enum":["api_key","client_secret"],"type":"string"},"label":{"type":"string"},"providerCleanupCompletedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"revocationRequestedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","revoked"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["bound","createdAt","creationStartedAt","credentialId","deliveryConsumedAt","expiresAt","hint","kind","label","providerCleanupCompletedAt","revocationRequestedAt","serviceIdentityId","status","updatedAt","version"],"type":"object"},"RevokeServiceIdentityCredentialUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RingingCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"ringing","type":"string"},"timestamps":{"$ref":"#/components/schemas/RingingCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"RingingCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"not":{}},"connectedAt":{"not":{}},"endedAt":{"not":{}},"ringingAt":{"description":"When authoritative destination alerting was observed. Ringing may be absent.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt","ringingAt"],"type":"object"},"RotateOrganizationOauthClientSecretConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OauthSecretNotConfiguredProblem"},{"$ref":"#/components/schemas/OauthSecretCreationConflictProblem"}]},"RotateOrganizationOauthClientSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RotateOrganizationOauthClientSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"RotateOrganizationOauthClientSecretInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RotateOrganizationOauthClientSecretRequest":{"additionalProperties":false,"properties":{"mode":{"enum":["normal","emergency"],"type":"string"}},"required":["mode"],"type":"object"},"RotateOrganizationOauthClientSecretResponse":{"additionalProperties":false,"properties":{"previousSecretValidUntil":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"value":{"anyOf":[{"maxLength":8192,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["previousSecretValidUntil","value"],"type":"object"},"RotateVoiceProfileOutboundCredentialBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"RotateVoiceProfileOutboundCredentialConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"},{"$ref":"#/components/schemas/VoiceOutboundNotConfiguredProblem"}]},"RotateVoiceProfileOutboundCredentialForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RotateVoiceProfileOutboundCredentialGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"RotateVoiceProfileOutboundCredentialInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"RotateVoiceProfileOutboundCredentialRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"mode":{"$ref":"#/components/schemas/VoiceOutboundCredentialRotationMode"}},"required":["expectedVersion","mode"],"type":"object"},"RotateVoiceProfileOutboundCredentialResponse":{"additionalProperties":false,"properties":{"password":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"previousPasswordValidUntil":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["password","previousPasswordValidUntil","profileVersion"],"type":"object"},"RotateVoiceProfileOutboundCredentialUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"RotateWebhookSigningSecretBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"RotateWebhookSigningSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"RotateWebhookSigningSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"RotateWebhookSigningSecretRequest":{"additionalProperties":false,"properties":{"overlapSeconds":{"default":86400,"maximum":604800,"minimum":0,"type":"integer"}},"type":"object"},"RotateWebhookSigningSecretResponse":{"additionalProperties":false,"properties":{"previousSecretExpiresAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"signingSecret":{"pattern":"^whsec_.*","type":"string"}},"required":["previousSecretExpiresAt","signingSecret"],"type":"object"},"RotateWebhookSigningSecretUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"ScheduledPlanChange":{"additionalProperties":false,"properties":{"effectiveAt":{"description":"ISO 8601.","type":"string"},"planCode":{"maxLength":64,"minLength":1,"type":"string"}},"required":["effectiveAt","planCode"],"type":"object"},"SelectableWebhookApiVersion":{"additionalProperties":false,"properties":{"retirement":{"anyOf":[{"$ref":"#/components/schemas/WebhookApiVersionRetirement"},{"type":"null"}]},"selectable":{"const":true,"type":"boolean"},"status":{"$ref":"#/components/schemas/SelectableWebhookApiVersionStatus"},"successor":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}]},"version":{"format":"date","type":"string"}},"required":["retirement","successor","selectable","status","version"],"type":"object"},"SelectableWebhookApiVersionStatus":{"enum":["preview","latest","maintain"],"type":"string"},"SelectableWebhookEventCatalog":{"additionalProperties":false,"properties":{"apiVersion":{"format":"date","type":"string"},"contractNamespace":{"const":"@photon-hq/contracts","type":"string"},"events":{"items":{"$ref":"#/components/schemas/WebhookEventType"},"type":"array"},"packageVersion":{"minLength":1,"type":"string"},"retirement":{"anyOf":[{"$ref":"#/components/schemas/WebhookApiVersionRetirement"},{"type":"null"}]},"selectable":{"const":true,"type":"boolean"},"status":{"$ref":"#/components/schemas/SelectableWebhookApiVersionStatus"},"successor":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}]}},"required":["retirement","successor","selectable","status","contractNamespace","packageVersion","apiVersion","events"],"type":"object"},"SendAttachmentCaption":{"additionalProperties":false,"description":"Text shown with the attachment. Accepted on: telegram.","properties":{"format":{"minLength":1,"type":"string"},"text":{"minLength":1,"type":"string"}},"required":["format","text"],"type":"object"},"SendAttachmentContent":{"additionalProperties":false,"properties":{"attachmentId":{"$ref":"#/components/schemas/AttachmentId"},"metadata":{"additionalProperties":false,"properties":{"caption":{"$ref":"#/components/schemas/SendAttachmentCaption"}},"type":"object"},"type":{"const":"attachment","type":"string"}},"required":["type","attachmentId"],"type":"object"},"SendContent":{"anyOf":[{"$ref":"#/components/schemas/SendTextContent"},{"$ref":"#/components/schemas/SendAttachmentContent"},{"$ref":"#/components/schemas/SendVoiceContent"},{"$ref":"#/components/schemas/SendReactionContent"},{"$ref":"#/components/schemas/SendMessageDeleteContent"},{"$ref":"#/components/schemas/SendMessageReadContent"},{"$ref":"#/components/schemas/SendSpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SendSpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SendSpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SendSpaceProfileShareContent"},{"$ref":"#/components/schemas/SendPollContent"},{"$ref":"#/components/schemas/SendPollVoteContent"},{"$ref":"#/components/schemas/SendPollUpdateContent"},{"$ref":"#/components/schemas/SendGroupContent"},{"$ref":"#/components/schemas/SendMessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"SendContentPart":{"anyOf":[{"$ref":"#/components/schemas/SendTextContent"},{"$ref":"#/components/schemas/SendAttachmentContent"},{"$ref":"#/components/schemas/SendVoiceContent"},{"$ref":"#/components/schemas/SendReactionContent"},{"$ref":"#/components/schemas/SendMessageDeleteContent"},{"$ref":"#/components/schemas/SendMessageReadContent"},{"$ref":"#/components/schemas/SendSpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SendSpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SendSpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SendSpaceProfileShareContent"},{"$ref":"#/components/schemas/SendPollContent"},{"$ref":"#/components/schemas/SendPollVoteContent"},{"$ref":"#/components/schemas/SendPollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"SendEmailMailbox":{"additionalProperties":false,"properties":{"address":{"maxLength":320,"minLength":3,"type":"string"},"name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["address"],"type":"object"},"SendEmailOptions":{"additionalProperties":false,"properties":{"bcc":{"items":{"$ref":"#/components/schemas/SendEmailMailbox"},"maxItems":50,"type":"array"},"cc":{"items":{"$ref":"#/components/schemas/SendEmailMailbox"},"maxItems":50,"type":"array"},"replyTo":{"items":{"$ref":"#/components/schemas/SendEmailMailbox"},"maxItems":50,"type":"array"},"subject":{"maxLength":4096,"type":"string"},"to":{"items":{"$ref":"#/components/schemas/SendEmailMailbox"},"maxItems":50,"type":"array"}},"type":"object"},"SendGroupContent":{"additionalProperties":false,"properties":{"parts":{"items":{"$ref":"#/components/schemas/SendContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"SendMessageConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AttachmentNotReadyProblem"},{"$ref":"#/components/schemas/SenderNotSendableProblem"},{"$ref":"#/components/schemas/SmsCampaignNotEligibleProblem"},{"$ref":"#/components/schemas/EmailAdmissionEndedProblem"},{"$ref":"#/components/schemas/SpaceNotSendableProblem"}]},"SendMessageDeleteContent":{"additionalProperties":false,"properties":{"reason":{"minLength":1,"type":"string"},"scope":{"minLength":1,"type":"string"},"type":{"const":"message.delete","type":"string"}},"required":["type"],"type":"object"},"SendMessageForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"},{"$ref":"#/components/schemas/SharedLineInboundRequiredProblem"},{"$ref":"#/components/schemas/SharedLineNotAssignedProblem"}]},"SendMessageGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"SendMessageInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"SendMessageNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SpaceNotFoundProblem"},{"$ref":"#/components/schemas/MessageNotFoundProblem"},{"$ref":"#/components/schemas/AttachmentNotFoundProblem"},{"$ref":"#/components/schemas/SenderNotFoundProblem"}]},"SendMessageReadContent":{"additionalProperties":false,"properties":{"type":{"const":"message.read","type":"string"}},"required":["type"],"type":"object"},"SendMessageRequest":{"additionalProperties":false,"properties":{"content":{"$ref":"#/components/schemas/SendContent"},"email":{"$ref":"#/components/schemas/SendEmailOptions"},"parentMessageId":{"pattern":"^pho_msg_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"senderId":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"spaceId":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"telegram":{"$ref":"#/components/schemas/SendTelegramOptions"}},"required":["content","senderId","spaceId"],"type":"object"},"SendMessageUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/EmailRecipientSuppressedProblem"},{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/SharedLineGroupUnsupportedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/InvalidContentProblem"},{"$ref":"#/components/schemas/UnsupportedContentProblem"},{"$ref":"#/components/schemas/MessageTooLongProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"SendMessageUpdateContent":{"additionalProperties":false,"properties":{"content":{"$ref":"#/components/schemas/SendMessageUpdateValue"},"type":{"const":"message.update","type":"string"}},"required":["type","content"],"type":"object"},"SendMessageUpdateGroupContent":{"additionalProperties":false,"properties":{"parts":{"items":{"$ref":"#/components/schemas/SendMessageUpdateGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"SendMessageUpdateGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/SendTextContent"},{"$ref":"#/components/schemas/SendAttachmentContent"},{"$ref":"#/components/schemas/SendVoiceContent"}]},"SendMessageUpdateValue":{"anyOf":[{"$ref":"#/components/schemas/SendMessageUpdateGroupContentPart"},{"$ref":"#/components/schemas/SendMessageUpdateGroupContent"}]},"SendPollContent":{"additionalProperties":false,"properties":{"options":{"items":{"$ref":"#/components/schemas/PollOption"},"minItems":1,"type":"array"},"question":{"minLength":1,"type":"string"},"selectionMode":{"$ref":"#/components/schemas/PollSelectionMode"},"type":{"const":"poll","type":"string"}},"required":["type","question","options","selectionMode"],"type":"object"},"SendPollUpdateContent":{"additionalProperties":false,"properties":{"options":{"items":{"$ref":"#/components/schemas/PollOption"},"minItems":1,"type":"array"},"question":{"minLength":1,"type":"string"},"selectionMode":{"$ref":"#/components/schemas/PollSelectionMode"},"type":{"const":"poll.update","type":"string"}},"required":["type","question","options","selectionMode"],"type":"object"},"SendPollVoteContent":{"additionalProperties":false,"properties":{"selectedOptions":{"items":{"$ref":"#/components/schemas/PollOption"},"type":"array"},"type":{"const":"poll.vote","type":"string"}},"required":["type","selectedOptions"],"type":"object"},"SendReactionContent":{"additionalProperties":false,"properties":{"action":{"not":{}},"reaction":{"minLength":1,"type":"string"},"type":{"const":"reaction","type":"string"}},"required":["type","reaction"],"type":"object"},"SendSpaceBackgroundUpdateContent":{"additionalProperties":false,"properties":{"background":{"$ref":"#/components/schemas/SpaceBackground"},"type":{"const":"space.background.update","type":"string"}},"required":["type","background"],"type":"object"},"SendSpaceParticipantsUpdateContent":{"additionalProperties":false,"properties":{"added":{"items":{"$ref":"#/components/schemas/UserSnapshot"},"type":"array"},"removed":{"items":{"$ref":"#/components/schemas/UserSnapshot"},"type":"array"},"type":{"const":"space.participants.update","type":"string"}},"required":["type","added","removed"],"type":"object"},"SendSpaceProfileShareContent":{"additionalProperties":false,"properties":{"type":{"const":"space.profile.share","type":"string"}},"required":["type"],"type":"object"},"SendSpaceTypingUpdateContent":{"additionalProperties":false,"properties":{"type":{"const":"space.typing.update","type":"string"},"typing":{"description":"True starts or refreshes typing; false stops it or reports a stop.","type":"boolean"}},"required":["type","typing"],"type":"object"},"SendTelegramOptions":{"additionalProperties":false,"properties":{"richMessage":{"description":"Whether standalone text is sent as a Telegram rich message. Defaults to true; false sends a regular message. Not accepted with attachments.","type":"boolean"},"sendAs":{"$ref":"#/components/schemas/TelegramSendAs"}},"type":"object"},"SendTextContent":{"additionalProperties":false,"properties":{"format":{"minLength":1,"type":"string"},"text":{"minLength":1,"type":"string"},"type":{"const":"text","type":"string"}},"required":["type","format","text"],"type":"object"},"SendVoiceContent":{"additionalProperties":false,"properties":{"attachmentId":{"$ref":"#/components/schemas/AttachmentId"},"type":{"const":"voice","type":"string"}},"required":["type","attachmentId"],"type":"object"},"SenderNotAuthorizedFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"sender_not_authorized","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"SenderNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SENDER_NOT_FOUND","status":404,"title":"Sender Not Found","type":"https://photon.codes/docs/problems/sender-not-found"},"properties":{"code":{"const":"SENDER_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Sender Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sender-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SenderNotSendableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SENDER_NOT_SENDABLE","status":409,"title":"Sender Not Sendable","type":"https://photon.codes/docs/problems/sender-not-sendable"},"properties":{"code":{"const":"SENDER_NOT_SENDABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Sender Not Sendable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sender-not-sendable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SenderRegistrationRequiredFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"sender_registration_required","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"SenderUnavailableFailure":{"additionalProperties":false,"properties":{"acceptedAt":{"not":{}},"code":{"const":"sender_unavailable","type":"string"},"confirmedRecipientCount":{"not":{}},"failedAt":{"not":{}},"message":{"minLength":1,"type":"string"}},"required":["code","message"],"type":"object"},"SentMessage":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/SupportedPlatformConstraint"},{"$ref":"#/components/schemas/SentMessageConstraint"}],"example":{"content":{"format":"plain","text":"Hello from Photon.","type":"text"},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}},"SentMessageConstraint":{"additionalProperties":true,"properties":{"status":{"$ref":"#/components/schemas/SentMessageStatus"}},"required":["status"],"type":"object"},"SentMessageStatus":{"enum":["dispatched","accepted","delivered","failed"],"type":"string"},"ServiceCredentialConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_CREDENTIAL_CONFLICT","status":409,"title":"Service Credential Conflict","type":"https://photon.codes/docs/problems/service-credential-conflict"},"properties":{"code":{"const":"SERVICE_CREDENTIAL_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Service Credential Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-credential-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceCredentialNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_CREDENTIAL_NOT_FOUND","status":404,"title":"Service Credential Not Found","type":"https://photon.codes/docs/problems/service-credential-not-found"},"properties":{"code":{"const":"SERVICE_CREDENTIAL_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Service Credential Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-credential-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceCredentialPreconditionFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_CREDENTIAL_PRECONDITION_FAILED","status":412,"title":"Service Credential Precondition Failed","type":"https://photon.codes/docs/problems/service-credential-precondition-failed"},"properties":{"code":{"const":"SERVICE_CREDENTIAL_PRECONDITION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":412,"type":"number"},"title":{"const":"Service Credential Precondition Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-credential-precondition-failed","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceFailureProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_FAILURE","status":502,"title":"Service Failure","type":"https://photon.codes/docs/problems/service-failure"},"properties":{"code":{"const":"SERVICE_FAILURE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Service Failure","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-failure","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceIdentityNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_IDENTITY_NOT_FOUND","status":404,"title":"Service Identity Not Found","type":"https://photon.codes/docs/problems/service-identity-not-found"},"properties":{"code":{"const":"SERVICE_IDENTITY_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Service Identity Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-identity-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceIdentityVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_IDENTITY_VERSION_CONFLICT","status":409,"title":"Service Identity Version Conflict","type":"https://photon.codes/docs/problems/service-identity-version-conflict"},"properties":{"code":{"const":"SERVICE_IDENTITY_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Service Identity Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-identity-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceTimeoutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_TIMEOUT","status":504,"title":"Service Timeout","type":"https://photon.codes/docs/problems/service-timeout"},"properties":{"code":{"const":"SERVICE_TIMEOUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Service Timeout","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-timeout","type":"string"}},"required":["code","status","title","type"],"type":"object"},"ServiceUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SERVICE_UNAVAILABLE","status":503,"title":"Service Temporarily Unavailable","type":"https://photon.codes/docs/problems/service-unavailable"},"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Service Temporarily Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/service-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SetImessageLineContactProfileBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"SetImessageLineContactProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/ImessageContactProfileVersionConflictProblem"},{"$ref":"#/components/schemas/ImessageContactProfileChangeInProgressProblem"}]},"SetImessageLineContactProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"SetImessageLineContactProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"SetImessageLineContactProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"SetImessageLineContactProfileRequest":{"oneOf":[{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"mode":{"const":"project","type":"string"}},"required":["expectedVersion","mode"],"type":"object"},{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"mode":{"const":"none","type":"string"}},"required":["expectedVersion","mode"],"type":"object"},{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"mode":{"const":"custom","type":"string"}},"required":["expectedVersion","mode"],"type":"object"}]},"SetImessageLineContactProfileUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"SetSpaceTypingConstraint":{"additionalProperties":true,"properties":{"content":{"$ref":"#/components/schemas/SetSpaceTypingContent"},"status":{"const":"dispatched","type":"string"}},"required":["content","status"],"type":"object"},"SetSpaceTypingContent":{"additionalProperties":false,"properties":{"type":{"const":"space.typing.update","type":"string"},"typing":{"type":"boolean"}},"required":["type","typing"],"type":"object"},"SetSpaceTypingForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"SetSpaceTypingGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"SetSpaceTypingInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"SetSpaceTypingNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SpaceNotFoundProblem"},{"$ref":"#/components/schemas/UserNotFoundProblem"}]},"SetSpaceTypingRequest":{"additionalProperties":false,"properties":{"senderId":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"typing":{"description":"True starts or refreshes typing; false stops it.","type":"boolean"}},"required":["senderId","typing"],"type":"object"},"SetSpaceTypingResponse":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/SetSpaceTypingConstraint"}],"example":{"content":{"type":"space.typing.update","typing":true},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}},"SetSpaceTypingUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"SetupOrganizationOauthClientSecretConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OauthSecretConfiguredProblem"},{"$ref":"#/components/schemas/OauthSecretCreationConflictProblem"}]},"SetupOrganizationOauthClientSecretCreatedResponse":{"additionalProperties":false,"properties":{"value":{"maxLength":8192,"minLength":1,"type":"string"}},"required":["value"],"type":"object"},"SetupOrganizationOauthClientSecretForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"SetupOrganizationOauthClientSecretGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"SetupOrganizationOauthClientSecretInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"SetupOrganizationOauthClientSecretResponse":{"additionalProperties":false,"properties":{"value":{"type":"null"}},"required":["value"],"type":"object"},"ShareSpaceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProfileNotReadyProblem"},{"$ref":"#/components/schemas/ProfileUnavailableProblem"}]},"ShareSpaceProfileConstraint":{"additionalProperties":true,"properties":{"content":{"$ref":"#/components/schemas/ShareSpaceProfileContent"},"status":{"const":"dispatched","type":"string"}},"required":["content","status"],"type":"object"},"ShareSpaceProfileContent":{"additionalProperties":false,"properties":{"type":{"const":"space.profile.share","type":"string"}},"required":["type"],"type":"object"},"ShareSpaceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"ShareSpaceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"ShareSpaceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"ShareSpaceProfileNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SpaceNotFoundProblem"},{"$ref":"#/components/schemas/UserNotFoundProblem"}]},"ShareSpaceProfileRequest":{"additionalProperties":false,"properties":{"senderId":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},"required":["senderId"],"type":"object"},"ShareSpaceProfileResponse":{"allOf":[{"$ref":"#/components/schemas/Message"},{"$ref":"#/components/schemas/ShareSpaceProfileConstraint"}],"example":{"content":{"type":"space.profile.share"},"createdAt":"2026-01-01T00:00:00.000Z","id":"pho_msg_00000000000000000000000001","metadata":{},"platform":"imessage","projectId":"pho_prj_00000000000000000000000001","sentBy":{"details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"imessage","projectId":"pho_prj_00000000000000000000000001"},"space":{"details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"imessage","projectId":"pho_prj_00000000000000000000000001"},"status":"dispatched","timestamps":{"dispatchedAt":"2026-01-01T00:00:00.000Z"},"updatedAt":"2026-01-01T00:00:00.000Z"}},"ShareSpaceProfileUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/OperationUnavailableProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"SharedLineAssignment":{"additionalProperties":false,"properties":{"assignedPhoneNumber":{"type":"string"},"assignmentId":{"type":"string"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"handle":{"type":"string"},"lastName":{"type":"string"},"platform":{"$ref":"#/components/schemas/SharedLineAssignmentPlatform"},"projectId":{"type":"string"},"releasedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["assignedPhoneNumber","assignmentId","createdAt","handle","platform","projectId","updatedAt"],"type":"object"},"SharedLineAssignmentPage":{"additionalProperties":false,"properties":{"assignments":{"items":{"$ref":"#/components/schemas/SharedLineAssignment"},"type":"array"},"nextPageToken":{"type":"string"}},"required":["assignments"],"type":"object"},"SharedLineAssignmentPlatform":{"enum":["imessage","whatsapp"],"type":"string"},"SharedLineCapExceededProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SHARED_LINE_CAP_EXCEEDED","status":409,"title":"Shared Line Cap Exceeded","type":"https://photon.codes/docs/problems/shared-line-cap-exceeded"},"properties":{"code":{"const":"SHARED_LINE_CAP_EXCEEDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Shared Line Cap Exceeded","type":"string"},"type":{"const":"https://photon.codes/docs/problems/shared-line-cap-exceeded","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SharedLineGroupUnsupportedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SHARED_LINE_GROUP_UNSUPPORTED","status":422,"title":"Shared Line Group Unsupported","type":"https://photon.codes/docs/problems/shared-line-group-unsupported"},"properties":{"code":{"const":"SHARED_LINE_GROUP_UNSUPPORTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Shared Line Group Unsupported","type":"string"},"type":{"const":"https://photon.codes/docs/problems/shared-line-group-unsupported","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SharedLineInboundRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SHARED_LINE_INBOUND_REQUIRED","status":403,"title":"Shared Line Inbound Required","type":"https://photon.codes/docs/problems/shared-line-inbound-required"},"properties":{"code":{"const":"SHARED_LINE_INBOUND_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Shared Line Inbound Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/shared-line-inbound-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SharedLineNotAssignedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SHARED_LINE_NOT_ASSIGNED","status":403,"title":"Shared Line Not Assigned","type":"https://photon.codes/docs/problems/shared-line-not-assigned"},"properties":{"code":{"const":"SHARED_LINE_NOT_ASSIGNED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Shared Line Not Assigned","type":"string"},"type":{"const":"https://photon.codes/docs/problems/shared-line-not-assigned","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SharedLinePoolExhaustedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SHARED_LINE_POOL_EXHAUSTED","status":503,"title":"Shared Line Pool Exhausted","type":"https://photon.codes/docs/problems/shared-line-pool-exhausted"},"properties":{"code":{"const":"SHARED_LINE_POOL_EXHAUSTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Shared Line Pool Exhausted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/shared-line-pool-exhausted","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SharedProjectPlatformSettings":{"additionalProperties":false,"properties":{"dedicatedLineAvailableNow":{"type":"boolean"},"maxUserAssignments":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mode":{"const":"shared","type":"string"}},"required":["dedicatedLineAvailableNow","maxUserAssignments","mode"],"type":"object"},"SipAuthenticationAlgorithm":{"enum":["sha-256","md5"],"type":"string"},"SipEndpoint":{"additionalProperties":false,"properties":{"host":{"type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"},"transport":{"$ref":"#/components/schemas/SipTransport"}},"required":["host","port","transport"],"type":"object"},"SipInboundConfiguration":{"additionalProperties":false,"properties":{"credentials":{"anyOf":[{"$ref":"#/components/schemas/SipInboundCredentials"},{"type":"null"}]},"destinationUri":{"type":"string"}},"required":["credentials","destinationUri"],"type":"object"},"SipInboundCredentials":{"additionalProperties":false,"properties":{"username":{"type":"string"}},"required":["username"],"type":"object"},"SipInboundCredentialsWithPassword":{"additionalProperties":false,"properties":{"password":{"minLength":1,"type":"string"},"username":{"maxLength":256,"minLength":1,"type":"string"}},"required":["password","username"],"type":"object"},"SipOutboundAuthentication":{"additionalProperties":false,"properties":{"algorithm":{"$ref":"#/components/schemas/SipAuthenticationAlgorithm"},"previousPasswordValidUntil":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"username":{"type":"string"},"validFrom":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["algorithm","previousPasswordValidUntil","username","validFrom"],"type":"object"},"SipOutboundAuthenticationPolicy":{"additionalProperties":false,"properties":{"algorithm":{"$ref":"#/components/schemas/SipAuthenticationAlgorithm"}},"required":["algorithm"],"type":"object"},"SipOutboundConfiguration":{"additionalProperties":false,"properties":{"authentication":{"$ref":"#/components/schemas/SipOutboundAuthentication"},"connection":{"$ref":"#/components/schemas/SipOutboundConnection"}},"required":["authentication","connection"],"type":"object"},"SipOutboundConnection":{"additionalProperties":false,"properties":{"endpoints":{"items":{"$ref":"#/components/schemas/SipEndpoint"},"minItems":1,"type":"array"},"realm":{"type":"string"}},"required":["endpoints","realm"],"type":"object"},"SipTransport":{"enum":["udp","tcp","tls"],"type":"string"},"SlugTakenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SLUG_TAKEN","status":409,"suggestion":"example-project-2","title":"Slug Already Taken","type":"https://photon.codes/docs/problems/slug-taken"},"properties":{"code":{"const":"SLUG_TAKEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"suggestion":{"type":"string"},"title":{"const":"Slug Already Taken","type":"string"},"type":{"const":"https://photon.codes/docs/problems/slug-taken","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignCapacityExceededProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_CAPACITY_EXCEEDED","status":409,"title":"Campaign number capacity exhausted","type":"https://photon.codes/docs/problems/sms-campaign-capacity-exceeded"},"properties":{"code":{"const":"SMS_CAMPAIGN_CAPACITY_EXCEEDED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign number capacity exhausted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-capacity-exceeded","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignContextUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_CONTEXT_UNAVAILABLE","status":503,"title":"Campaign context unavailable","type":"https://photon.codes/docs/problems/sms-campaign-context-unavailable"},"properties":{"code":{"const":"SMS_CAMPAIGN_CONTEXT_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Campaign context unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-context-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignInvalidRequestProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_INVALID_REQUEST","status":400,"title":"Invalid SMS campaign request","type":"https://photon.codes/docs/problems/sms-campaign-invalid-request"},"properties":{"code":{"const":"SMS_CAMPAIGN_INVALID_REQUEST","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":400,"type":"number"},"title":{"const":"Invalid SMS campaign request","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-invalid-request","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignMutationInProgressProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"properties":{"code":{"const":"SMS_CAMPAIGN_MUTATION_IN_PROGRESS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"operationId":{"type":"string"},"operationUrl":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Assignment mutation in progress","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-mutation-in-progress","type":"string"}},"required":["operationId","operationUrl","code","status","title","type"],"type":"object"},"SmsCampaignNotEligibleProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_NOT_ELIGIBLE","status":409,"title":"SMS Campaign Not Eligible","type":"https://photon.codes/docs/problems/sms-campaign-not-eligible"},"properties":{"code":{"const":"SMS_CAMPAIGN_NOT_ELIGIBLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"SMS Campaign Not Eligible","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-not-eligible","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_NOT_FOUND","status":404,"title":"Campaign not found","type":"https://photon.codes/docs/problems/sms-campaign-not-found"},"properties":{"code":{"const":"SMS_CAMPAIGN_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Campaign not found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignNotReadyProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_NOT_READY","status":409,"title":"Campaign not ready","type":"https://photon.codes/docs/problems/sms-campaign-not-ready"},"properties":{"code":{"const":"SMS_CAMPAIGN_NOT_READY","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign not ready","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-not-ready","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignOrganizationMismatchProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_ORGANIZATION_MISMATCH","status":403,"title":"Campaign belongs to another organization","type":"https://photon.codes/docs/problems/sms-campaign-organization-mismatch"},"properties":{"code":{"const":"SMS_CAMPAIGN_ORGANIZATION_MISMATCH","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"Campaign belongs to another organization","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-organization-mismatch","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignProviderRejectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_PROVIDER_REJECTED","remediation":{"action":"Inspect the line's campaign assignment before retrying."},"status":422,"title":"Campaign assignment rejected","type":"https://photon.codes/docs/problems/sms-campaign-provider-rejected"},"properties":{"code":{"const":"SMS_CAMPAIGN_PROVIDER_REJECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Campaign assignment rejected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-provider-rejected","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"SmsCampaignReconciliationRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_RECONCILIATION_REQUIRED","status":409,"title":"Campaign reconciliation required","type":"https://photon.codes/docs/problems/sms-campaign-reconciliation-required"},"properties":{"code":{"const":"SMS_CAMPAIGN_RECONCILIATION_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign reconciliation required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-reconciliation-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignRevokedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_REVOKED","status":409,"title":"Campaign revoked","type":"https://photon.codes/docs/problems/sms-campaign-revoked"},"properties":{"code":{"const":"SMS_CAMPAIGN_REVOKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Campaign revoked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-revoked","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsCampaignVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_CAMPAIGN_VERSION_CONFLICT","status":409,"title":"Assignment version conflict","type":"https://photon.codes/docs/problems/sms-campaign-version-conflict"},"properties":{"code":{"const":"SMS_CAMPAIGN_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Assignment version conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-campaign-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/SmsGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"SmsGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"SmsLineCampaign":{"additionalProperties":{},"properties":{"id":{"type":"string"},"organizationId":{"type":"string"}},"required":["id","organizationId"],"type":"object"},"SmsLineCampaignEligibility":{"enum":["eligible","blocked","unknown"],"type":"string"},"SmsLineNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_LINE_NOT_FOUND","status":404,"title":"SMS line not found","type":"https://photon.codes/docs/problems/sms-line-not-found"},"properties":{"code":{"const":"SMS_LINE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"SMS line not found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-line-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsLineUnsupportedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SMS_LINE_UNSUPPORTED","status":409,"title":"SMS line unsupported","type":"https://photon.codes/docs/problems/sms-line-unsupported"},"properties":{"code":{"const":"SMS_LINE_UNSUPPORTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"SMS line unsupported","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sms-line-unsupported","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SmsMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedSmsMessage"},{"$ref":"#/components/schemas/DispatchedSmsMessage"},{"$ref":"#/components/schemas/AcceptedSmsMessage"},{"$ref":"#/components/schemas/DeliveredSmsMessage"},{"$ref":"#/components/schemas/FailedSmsMessage"}]},"SmsMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"sms","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"},{"$ref":"#/components/schemas/SmsGroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"SmsMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"sms","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"sms","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"sms","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"sms","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsPlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsPlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsPlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"sms","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"sms","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"sms","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"sms","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/SmsSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"SmsSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"SmsSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/SmsSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"SmsSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"sms","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsSpaceUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/SmsSpaceUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"sms.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"SmsSpaceUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"additionalProperties":{},"properties":{"type":{"const":"space.participants.update","type":"string"}},"required":["type"],"type":"object"},"platform":{"const":"sms","type":"string"},"status":{"enum":["received","delivered"],"type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"SmsUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/SmsUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"SmsUserDetails":{"additionalProperties":false,"properties":{"carrier":{"$ref":"#/components/schemas/PhoneCarrier"},"countryCode":{"pattern":"^[A-Z]{2}$","type":"string"},"managedBy":{"$ref":"#/components/schemas/ManagerId"},"nationalFormat":{"minLength":1,"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"}},"type":"object"},"SmsUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/SmsUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"sms","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"SoleProprietorProfileInput":{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"displayName":{"maxLength":100,"minLength":1,"type":"string"},"email":{"format":"email","maxLength":100,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"lastName":{"maxLength":100,"minLength":1,"type":"string"},"phone":{"pattern":"^\\+1\\d{10}$","type":"string"},"supportEmail":{"format":"email","maxLength":254,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"type":{"const":"sole_proprietor","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"}},"required":["address","displayName","email","firstName","lastName","phone","supportEmail","vertical","type"],"type":"object"},"SortOrder":{"enum":["asc","desc"],"type":"string"},"Space":{"anyOf":[{"$ref":"#/components/schemas/SmsSpace"},{"$ref":"#/components/schemas/WhatsappSpace"},{"$ref":"#/components/schemas/WhatsappBusinessSpace"},{"$ref":"#/components/schemas/EmailSpace"},{"$ref":"#/components/schemas/VoiceSpace"},{"$ref":"#/components/schemas/ImessageSpace"},{"$ref":"#/components/schemas/TelegramSpace"}],"x-photon-extension":{"discriminator":"platform","fallback":"#/$defs/UnknownSpace","reserved":["sms","whatsapp","whatsapp_business","email","voice","imessage","telegram"]}},"SpaceAmbiguousProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SPACE_AMBIGUOUS","status":409,"title":"Multiple Matching Spaces","type":"https://photon.codes/docs/problems/space-ambiguous"},"properties":{"code":{"const":"SPACE_AMBIGUOUS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Multiple Matching Spaces","type":"string"},"type":{"const":"https://photon.codes/docs/problems/space-ambiguous","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SpaceBackground":{"description":"The Space's background after the change.","oneOf":[{"$ref":"#/components/schemas/SpaceBackgroundImage"},{"$ref":"#/components/schemas/SpaceBackgroundPreset"},{"$ref":"#/components/schemas/SpaceBackgroundNone"}]},"SpaceBackgroundImage":{"additionalProperties":false,"properties":{"attachmentId":{"$ref":"#/components/schemas/AttachmentId","description":"The uploaded image to use."},"type":{"const":"image","type":"string"}},"required":["type","attachmentId"],"type":"object"},"SpaceBackgroundNone":{"additionalProperties":false,"properties":{"type":{"const":"none","type":"string"}},"required":["type"],"type":"object"},"SpaceBackgroundPreset":{"additionalProperties":false,"properties":{"preset":{"$ref":"#/components/schemas/SpaceBackgroundPresetName"},"type":{"const":"preset","type":"string"}},"required":["type","preset"],"type":"object"},"SpaceBackgroundPresetName":{"description":"A built-in chat background.","enum":["skyDusk","skyHaze","skySunset","skyClear","skySunrise","skyDawn","waterLight","waterDark","auroraGreen","auroraPurple","auroraPink","colorMango","colorIce","colorPlum","colorDeepSea","colorGreenApple","colorCherry","colorBubblegum","colorTangerine","colorMagenta","colorLime","colorSilver","colorCarbon","colorStone"],"type":"string"},"SpaceBackgroundUpdateContent":{"additionalProperties":false,"properties":{"background":{"$ref":"#/components/schemas/SpaceBackground"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"space.background.update","type":"string"}},"required":["type","background"],"type":"object"},"SpaceCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["count"],"type":"object"},"SpaceId":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"SpaceNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SPACE_NOT_FOUND","status":404,"title":"Space Not Found","type":"https://photon.codes/docs/problems/space-not-found"},"properties":{"code":{"const":"SPACE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Space Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/space-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SpaceNotSendableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SPACE_NOT_SENDABLE","status":409,"title":"Space Not Sendable","type":"https://photon.codes/docs/problems/space-not-sendable"},"properties":{"code":{"const":"SPACE_NOT_SENDABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Space Not Sendable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/space-not-sendable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SpaceOrderBy":{"enum":["created_at","updated_at","last_message_created_at"],"type":"string"},"SpacePage":{"additionalProperties":false,"example":{"items":[{"createdAt":"2026-01-01T00:00:00.000Z","details":{},"id":"pho_spc_00000000000000000000000001","kind":"direct","metadata":{},"participantIds":["pho_usr_00000000000000000000000001","pho_usr_00000000000000000000000002"],"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","updatedAt":"2026-01-01T00:00:00.000Z"}]},"properties":{"items":{"description":"Unsupported platforms and records with unsupported data are omitted.","items":{"$ref":"#/components/schemas/PlatformSpace"},"type":"array"},"nextPageToken":{"description":"Continue with this token, even if items is empty. Omitted when no more pages remain.","maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},"required":["items"],"type":"object"},"SpaceParticipantsUpdateContent":{"additionalProperties":false,"properties":{"added":{"items":{"$ref":"#/components/schemas/UserSnapshot"},"type":"array"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"removed":{"items":{"$ref":"#/components/schemas/UserSnapshot"},"type":"array"},"type":{"const":"space.participants.update","type":"string"}},"required":["type","added","removed"],"type":"object"},"SpaceProfileShareCacheControl":{"enum":["no-store"],"type":"string"},"SpaceProfileShareContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"space.profile.share","type":"string"}},"required":["type"],"type":"object"},"SpaceRequiresOwnedAgentProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SPACE_REQUIRES_OWNED_AGENT","status":422,"title":"Space Requires Owned Agent","type":"https://photon.codes/docs/problems/space-requires-owned-agent"},"properties":{"code":{"const":"SPACE_REQUIRES_OWNED_AGENT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Space Requires Owned Agent","type":"string"},"type":{"const":"https://photon.codes/docs/problems/space-requires-owned-agent","type":"string"}},"required":["code","status","title","type"],"type":"object"},"SpaceSnapshot":{"anyOf":[{"$ref":"#/components/schemas/SmsSpaceSnapshot"},{"$ref":"#/components/schemas/WhatsappSpaceSnapshot"},{"$ref":"#/components/schemas/WhatsappBusinessSpaceSnapshot"},{"$ref":"#/components/schemas/EmailSpaceSnapshot"},{"$ref":"#/components/schemas/VoiceSpaceSnapshot"},{"$ref":"#/components/schemas/ImessageSpaceSnapshot"},{"$ref":"#/components/schemas/TelegramSpaceSnapshot"}],"x-photon-extension":{"discriminator":"platform","fallback":"#/$defs/UnknownSpaceSnapshot","reserved":["sms","whatsapp","whatsapp_business","email","voice","imessage","telegram"]}},"SpaceTypingCacheControl":{"enum":["no-store"],"type":"string"},"SpaceTypingUpdateContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"space.typing.update","type":"string"},"typing":{"description":"True starts or refreshes typing; false stops it or reports a stop.","type":"boolean"}},"required":["type","typing"],"type":"object"},"SpaceTypingUpdatedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsSpaceTypingUpdatedEvent"},{"$ref":"#/components/schemas/WhatsappSpaceTypingUpdatedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessSpaceTypingUpdatedEvent"},{"$ref":"#/components/schemas/EmailSpaceTypingUpdatedEvent"},{"$ref":"#/components/schemas/ImessageSpaceTypingUpdatedEvent"},{"$ref":"#/components/schemas/TelegramSpaceTypingUpdatedEvent"}]},"SpaceUpdatedEvent":{"anyOf":[{"$ref":"#/components/schemas/SmsSpaceUpdatedEvent"},{"$ref":"#/components/schemas/WhatsappSpaceUpdatedEvent"},{"$ref":"#/components/schemas/WhatsappBusinessSpaceUpdatedEvent"},{"$ref":"#/components/schemas/EmailSpaceUpdatedEvent"}]},"SpamClassification":{"additionalProperties":false,"properties":{"classifiedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"confidence":{"maximum":1,"minimum":0,"type":"number"},"source":{"minLength":1,"type":"string"},"status":{"minLength":1,"type":"string"}},"required":["status","source"],"type":"object"},"SsoSubscriptionRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"SSO_SUBSCRIPTION_REQUIRED","status":412,"title":"SSO Subscription Required","type":"https://photon.codes/docs/problems/sso-subscription-required"},"properties":{"code":{"const":"SSO_SUBSCRIPTION_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":412,"type":"number"},"title":{"const":"SSO Subscription Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/sso-subscription-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"StartEnterpriseLoginRequest":{"anyOf":[{"$ref":"#/components/schemas/OrganizationEnterpriseLoginRequest"},{"$ref":"#/components/schemas/InvitationEnterpriseLoginRequest"},{"$ref":"#/components/schemas/RetryEnterpriseLoginRequest"}]},"StartEnterpriseLoginResponse":{"additionalProperties":{},"properties":{"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"},"StartedCall":{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"started","type":"string"},"timestamps":{"$ref":"#/components/schemas/StartedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},"StartedCallTimestamps":{"additionalProperties":false,"properties":{"answeredAt":{"not":{}},"connectedAt":{"not":{}},"endedAt":{"not":{}},"ringingAt":{"not":{}},"startedAt":{"description":"When Voice admitted the attempt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["startedAt"],"type":"object"},"SubscribeSsoBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"SubscribeSsoConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"SubscribeSsoForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"SubscribeSsoGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"SubscribeSsoRequest":{"additionalProperties":false,"properties":{"expectedAmount":{"minLength":1,"type":"string"},"expectedCurrency":{"maxLength":3,"minLength":3,"type":"string"},"expectedCurrentPeriodEnd":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["expectedAmount","expectedCurrency","expectedCurrentPeriodEnd"],"type":"object"},"SubscribeSsoResponse":{"additionalProperties":false,"properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"type":"object"},"SubscribeSsoUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"SubscriptionCoupon":{"additionalProperties":false,"description":"A coupon discounting the subscription now, as a Stripe Discount.","properties":{"amountCents":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}],"description":"Amount off in cents of currency: each period when repeating or forever, once when once. Null for a percentage."},"appliesTo":{"anyOf":[{"$ref":"#/components/schemas/CouponAppliesTo"},{"type":"null"}],"description":"The fees it discounts: those of any listed kind or fixed charge. Null when it discounts every fee in its scope."},"couponCode":{"type":"string"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Set with amountCents."},"duration":{"$ref":"#/components/schemas/CouponDuration"},"endsAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"When it stops discounting, exclusive, ISO 8601: the last discounted day is the day before, in timeZone. Null for once and forever."},"name":{"type":"string"},"organizationWide":{"description":"Applied to the paying organization rather than one project: it discounts every subscription the organization pays for, and a fixed amount is one allowance shared across them.","type":"boolean"},"promotionCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The promotion code it was redeemed with, or null when operations applied it."},"rate":{"anyOf":[{"pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}],"description":"Percentage off as a decimal, e.g. \"50\" for half off. Null for an amount."}},"required":["amountCents","appliesTo","couponCode","currency","duration","endsAt","name","organizationWide","promotionCode","rate"],"type":"object"},"SubscriptionStatus":{"description":"State of one category's subscription: the payer's dunning stage while it holds one. Dunning is organization-level, so the stage applies to every category at once, and paying clears it. Entitlements are unaffected at every stage; viewing, paying and releasing resources stay available. Only categories that hold a subscription appear at all; a cancelled category is absent rather than listed as terminated.","enum":["active","past_due","restricted","suspended","terminated"],"type":"string","x-enumDescriptions":{"active":"Subscribed and in good standing, on a free or a paid plan.","past_due":"An invoice is overdue, for less than 7 days. Everything stays available.","restricted":"An invoice has been overdue for 7 days. New purchases are refused; sending continues.","suspended":"An invoice has been overdue for 14 days, overdue usage exceeds what the plans allow, or a payment is disputed. Sending is paused as well.","terminated":"The subscription is gone. Not reported by the overview, which omits categories holding nothing."}},"SubscriptionTerms":{"additionalProperties":false,"description":"What one subscription is billed on now. plan is the plan as this subscription has it: its own prices when overridden, each fixed charge at the subscription's price and quantity, and entitlements resolved with overrides.","properties":{"cancelsAt":{"anyOf":[{"description":"ISO 8601.","type":"string"},{"type":"null"}],"description":"When the subscription ends instead of renewing, ISO 8601."},"category":{"description":"Category slug, e.g. analytics or messaging.","pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},"coupons":{"description":"The coupons in effect, oldest redemption first. A project's are its own; the organization's also carry those applied to the organization.","items":{"$ref":"#/components/schemas/SubscriptionCoupon"},"type":"array"},"currentPeriodEnd":{"description":"ISO 8601.","type":"string"},"currentPeriodStart":{"description":"ISO 8601.","type":"string"},"nextBillingAt":{"description":"When the next invoice is issued: the second after the period ends, ISO 8601.","type":"string"},"paymentMode":{"$ref":"#/components/schemas/PaymentMode"},"plan":{"$ref":"#/components/schemas/BillingPlan"},"planSource":{"$ref":"#/components/schemas/PlanSource"},"scheduledPlanChange":{"anyOf":[{"$ref":"#/components/schemas/ScheduledPlanChange"},{"type":"null"}],"description":"A downgrade waiting for the period end, or null."}},"required":["category","cancelsAt","coupons","currentPeriodEnd","currentPeriodStart","nextBillingAt","paymentMode","plan","planSource","scheduledPlanChange"],"type":"object"},"SucceededBillingOperation":{"additionalProperties":false,"properties":{"failure":{"type":"null"},"kind":{"$ref":"#/components/schemas/BillingOperationKind"},"operationId":{"description":"Stable handle for this provisioning action.","type":"string"},"paymentAction":{"type":"null"},"resolvedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"$ref":"#/components/schemas/BillingOperationResult"},"status":{"const":"succeeded","description":"Terminal. The result is authoritative.","type":"string"},"submittedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["failure","kind","operationId","submittedAt","paymentAction","resolvedAt","result","status"],"type":"object"},"SupportedPlatform":{"additionalProperties":false,"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string"}},"required":["description","displayName","type"],"type":"object"},"SupportedPlatformConstraint":{"additionalProperties":true,"properties":{"platform":{"$ref":"#/components/schemas/Platform"}},"required":["platform"],"type":"object"},"SuspendAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"SuspendAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"SuspendAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"SuspendAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"SuspendAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"SuspendAppInstallationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"SuspendAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"SuspendAppInstallationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"TelegramConfigurationFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"TELEGRAM_CONFIGURATION_FAILED","remediation":{"action":"Start a new Telegram bot setup."},"status":502,"title":"Telegram Configuration Failed","type":"https://photon.codes/docs/problems/telegram-configuration-failed"},"properties":{"code":{"const":"TELEGRAM_CONFIGURATION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Telegram Configuration Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/telegram-configuration-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"TelegramGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/TelegramGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"TelegramGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"TelegramMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedTelegramMessage"},{"$ref":"#/components/schemas/DispatchedTelegramMessage"},{"$ref":"#/components/schemas/AcceptedTelegramMessage"},{"$ref":"#/components/schemas/DeliveredTelegramMessage"},{"$ref":"#/components/schemas/FailedTelegramMessage"}]},"TelegramMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"telegram","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/TelegramGroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"TelegramMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"telegram","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"telegram","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"telegram","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"telegram","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramPlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramPlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramPlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"telegram","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"telegram","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"telegram","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"telegram","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramProjectDeletedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"TELEGRAM_PROJECT_DELETED","status":409,"title":"Telegram Project Deleted","type":"https://photon.codes/docs/problems/telegram-project-deleted"},"properties":{"code":{"const":"TELEGRAM_PROJECT_DELETED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Telegram Project Deleted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/telegram-project-deleted","type":"string"}},"required":["code","status","title","type"],"type":"object"},"TelegramProvisionInProgressProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"TELEGRAM_PROVISION_IN_PROGRESS","operationId":"pho_opr_00000000000000000000000001","operationUrl":"/v1/projects/pho_prj_00000000000000000000000001/platforms/operations/pho_opr_00000000000000000000000001","status":409,"title":"Telegram Provision In Progress","type":"https://photon.codes/docs/problems/telegram-provision-in-progress"},"properties":{"code":{"const":"TELEGRAM_PROVISION_IN_PROGRESS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"operationId":{"type":"string"},"operationUrl":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Telegram Provision In Progress","type":"string"},"type":{"const":"https://photon.codes/docs/problems/telegram-provision-in-progress","type":"string"}},"required":["operationId","operationUrl","code","status","title","type"],"type":"object"},"TelegramReleaseFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"TELEGRAM_RELEASE_FAILED","remediation":{"action":"The bot is still connected. Contact support@photon.codes."},"status":502,"title":"Telegram Release Failed","type":"https://photon.codes/docs/problems/telegram-release-failed"},"properties":{"code":{"const":"TELEGRAM_RELEASE_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Telegram Release Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/telegram-release-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"TelegramSendAs":{"description":"How a single attachment is shown. Omitted, Telegram shows its native form: a photo, an animated GIF, an inline video, or the music player for MP3 and M4A; any other file is a file card. \"file\" sends any attachment as a file card, unchanged. Accepted with attachment or group content.","enum":["file"],"type":"string"},"TelegramSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/TelegramSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"TelegramSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"TelegramSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/TelegramSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"TelegramSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/TelegramSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"telegram.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"TelegramSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"telegram","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"TelegramUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/TelegramUserDetails"},"handle":{"pattern":"^([1-9][0-9]{0,15}|chat:-?[1-9][0-9]{0,15})$","type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"TelegramUserDetails":{"additionalProperties":false,"properties":{"resourceId":{"$ref":"#/components/schemas/ResourceId"}},"type":"object"},"TelegramUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/TelegramUserDetails"},"handle":{"pattern":"^([1-9][0-9]{0,15}|chat:-?[1-9][0-9]{0,15})$","type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"telegram","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"TerminalBillingOperation":{"oneOf":[{"$ref":"#/components/schemas/SucceededBillingOperation"},{"$ref":"#/components/schemas/FailedBillingOperation"}]},"TextContent":{"additionalProperties":false,"properties":{"format":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"text":{"minLength":1,"type":"string"},"type":{"const":"text","type":"string"}},"required":["type","format","text"],"type":"object"},"TimeoutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"TIMEOUT","status":504,"title":"Developer OTel Query Timeout","type":"https://photon.codes/docs/problems/developer-otel-query-timeout"},"properties":{"code":{"const":"TIMEOUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Developer OTel Query Timeout","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-query-timeout","type":"string"}},"required":["code","status","title","type"],"type":"object"},"TimestampOrderBy":{"enum":["created_at","updated_at"],"type":"string"},"TransferOrganizationOwnershipBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"TransferOrganizationOwnershipConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationTransferToSelfProblem"},{"$ref":"#/components/schemas/OrganizationOwnerInvariantProblem"},{"$ref":"#/components/schemas/OrganizationOwnerProtectedProblem"},{"$ref":"#/components/schemas/OrganizationSelfManagementForbiddenProblem"},{"$ref":"#/components/schemas/OrganizationMembershipVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationMemberRemovedProblem"},{"$ref":"#/components/schemas/OrganizationRecoveryRequiredProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"TransferOrganizationOwnershipForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"TransferOrganizationOwnershipGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"TransferOrganizationOwnershipRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"newOwnerAccountId":{"type":"string"}},"required":["expectedVersion","newOwnerAccountId"],"type":"object"},"TransferOrganizationOwnershipResponse":{"additionalProperties":false,"properties":{"newOwner":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version"],"type":"object"},"organizationVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"previousOwner":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version"],"type":"object"}},"required":["newOwner","organizationVersion","previousOwner"],"type":"object"},"TransferOrganizationOwnershipUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"TriggerTenDlcBrandOtpBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"TriggerTenDlcBrandOtpConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"}]},"TriggerTenDlcBrandOtpForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"TriggerTenDlcBrandOtpGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"TriggerTenDlcBrandOtpInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"TriggerTenDlcBrandOtpResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"attemptsRemaining":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"brandId":{"type":"string"},"expiresAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"retryAfterSeconds":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_requested","delivery_pending","sent","verified","expired","failed","locked"],"type":"string"}},"required":["brandId","phoneLast4","status"],"type":"object"}},"required":["data"],"type":"object"},"TriggerTenDlcBrandOtpServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"TriggerTenDlcBrandOtpTooManyRequestsProblem":{"oneOf":[{"$ref":"#/components/schemas/RateLimitedProblem"},{"$ref":"#/components/schemas/OtpRateLimitedProblem"}]},"TriggerTenDlcBrandOtpUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/UnsupportedEntityTypeProblem"},{"$ref":"#/components/schemas/PhoneNotSmsCapableProblem"}]},"UnassignSmsLineCampaignBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignInvalidRequestProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UnassignSmsLineCampaignConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/SmsLineUnsupportedProblem"},{"$ref":"#/components/schemas/SmsCampaignNotReadyProblem"},{"$ref":"#/components/schemas/SmsCampaignVersionConflictProblem"},{"$ref":"#/components/schemas/SmsCampaignCapacityExceededProblem"},{"$ref":"#/components/schemas/SmsCampaignReconciliationRequiredProblem"},{"$ref":"#/components/schemas/SmsCampaignMutationInProgressProblem"}]},"UnassignSmsLineCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"},{"$ref":"#/components/schemas/SmsCampaignOrganizationMismatchProblem"}]},"UnassignSmsLineCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UnassignSmsLineCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UnassignSmsLineCampaignNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignNotFoundProblem"},{"$ref":"#/components/schemas/SmsLineNotFoundProblem"}]},"UnassignSmsLineCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/SmsCampaignContextUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"UnassignVoiceLineProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UnassignVoiceLineProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UnassignVoiceLineProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UnavailableProjectSlug":{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"$ref":"#/components/schemas/UnavailableProjectSlugReason"},"slug":{"type":"string"},"suggestion":{"type":"string"}},"required":["available","reason","slug"],"type":"object"},"UnavailableProjectSlugReason":{"enum":["reserved","retired","taken","too_short"],"type":"string"},"UninstallAppInstallationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UninstallAppInstallationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"UninstallAppInstallationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UninstallAppInstallationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UninstallAppInstallationNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"UninstallAppInstallationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["expectedVersion"],"type":"object"},"UninstallAppInstallationResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"UninstallAppInstallationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UnknownContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"minLength":1,"type":"string"}},"required":["type"],"type":"object"},"UnknownMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedUnknownMessage"},{"$ref":"#/components/schemas/DispatchedUnknownMessage"},{"$ref":"#/components/schemas/AcceptedUnknownMessage"},{"$ref":"#/components/schemas/DeliveredUnknownMessage"},{"$ref":"#/components/schemas/FailedUnknownMessage"}]},"UnknownSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"UnknownSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"UnknownUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"UnknownUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"$ref":"#/components/schemas/PlatformIdentifier"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","details","metadata"],"type":"object"},"UnsupportedContentProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UNSUPPORTED_CONTENT","status":422,"title":"Unsupported Content","type":"https://photon.codes/docs/problems/unsupported-content"},"properties":{"code":{"const":"UNSUPPORTED_CONTENT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Unsupported Content","type":"string"},"type":{"const":"https://photon.codes/docs/problems/unsupported-content","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UnsupportedEntityTypeProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UNSUPPORTED_ENTITY_TYPE","status":422,"title":"Unsupported Entity Type","type":"https://photon.codes/docs/problems/unsupported-entity-type"},"properties":{"code":{"const":"UNSUPPORTED_ENTITY_TYPE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Unsupported Entity Type","type":"string"},"type":{"const":"https://photon.codes/docs/problems/unsupported-entity-type","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UnsupportedTypeProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UNSUPPORTED_TYPE","status":422,"title":"Unsupported Developer OTel Query Type","type":"https://photon.codes/docs/problems/developer-otel-unsupported-type"},"properties":{"code":{"const":"UNSUPPORTED_TYPE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Unsupported Developer OTel Query Type","type":"string"},"type":{"const":"https://photon.codes/docs/problems/developer-otel-unsupported-type","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UpdateAccountBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidApiVersionProblem"}]},"UpdateAccountForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateAccountGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateAccountGoneProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountDeletedProblem"},{"$ref":"#/components/schemas/RetiredApiVersionProblem"}]},"UpdateAccountInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateAccountRequest":{"additionalProperties":false,"properties":{"firstName":{"maxLength":256,"minLength":1,"type":"string"},"lastName":{"anyOf":[{"maxLength":256,"minLength":1,"type":"string"},{"type":"null"}]}},"type":"object"},"UpdateAccountUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/ValidationFailedProblem"}]},"UpdateAgentProfileBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateAgentProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateAgentProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateAgentProfileRequest":{"additionalProperties":false,"properties":{"firstName":{"minLength":1,"type":"string"},"lastName":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"type":"object"},"UpdateAgentProfileUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateAppInstallationConfigBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateAppInstallationConfigConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}]},"UpdateAppInstallationConfigForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateAppInstallationConfigGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateAppInstallationConfigRequest":{"additionalProperties":false,"properties":{"description":{"maxLength":500,"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{"items":{"type":"string"},"maxItems":256,"minItems":1,"type":"array"},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"websiteUrl":{"maxLength":2048,"type":"string"}},"required":["name","publicKeys","redirectUris","requestedPermissions","expectedVersion"],"type":"object"},"UpdateAppInstallationConfigResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"developerOrganizationId":{"type":"string"},"eventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{},"url":{"maxLength":4096,"type":"string"}},"required":["apiVersion","events","url"],"type":"object"},{"type":"null"}]},"name":{"maxLength":256,"minLength":1,"type":"string"},"publicKeys":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"alg":{"const":"RS256","type":"string"},"e":{"maxLength":11,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"RSA","type":"string"},"n":{"maxLength":1366,"minLength":342,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","e","kid","kty","n"],"type":"object"},{"additionalProperties":false,"properties":{"alg":{"const":"ES256","type":"string"},"crv":{"const":"P-256","type":"string"},"kid":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"kty":{"const":"EC","type":"string"},"x":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"y":{"maxLength":43,"minLength":43,"pattern":"^[A-Za-z0-9_-]+$","type":"string"}},"required":["alg","crv","kid","kty","x","y"],"type":"object"}]},"maxItems":16,"minItems":1,"type":"array"},"redirectUris":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"requestedPermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled","retired"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"websiteUrl":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["appId","createdAt","createdByAccountId","description","developerOrganizationId","eventSubscription","name","publicKeys","redirectUris","requestedPermissions","status","updatedAt","updatedByAccountId","version","websiteUrl"],"type":"object"},"UpdateAppInstallationConfigUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateAppInstallationPermissionsBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationPermissionsInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateAppInstallationPermissionsConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestAlreadyBoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationRedirectUriInvalidProblem"},{"$ref":"#/components/schemas/AppInstallationVersionConflictProblem"},{"$ref":"#/components/schemas/AppInstallationStateConflictProblem"},{"$ref":"#/components/schemas/AppInstallationRepairUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationConfigVersionConflictProblem"},{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"UpdateAppInstallationPermissionsForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateAppInstallationPermissionsGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateAppInstallationPermissionsNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/AppInstallationRequestNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"},{"$ref":"#/components/schemas/AppInstallationNotFoundProblem"}]},"UpdateAppInstallationPermissionsRequest":{"additionalProperties":false,"properties":{"expectedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]}},"required":["expectedAppVersion","expectedVersion","permissions"],"type":"object"},"UpdateAppInstallationPermissionsResponse":{"additionalProperties":false,"properties":{"appId":{"type":"string"},"approvedAppVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"approvedEventSubscription":{"anyOf":[{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"events":{}},"required":["apiVersion","events"],"type":"object"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"effectivePermissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"installationId":{"type":"string"},"installedByAccountId":{"type":"string"},"operationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"},"organizationId":{"type":"string"},"projectScope":{"oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"all","type":"string"},"projectIds":{"items":{"type":"string"},"maxItems":0,"type":"array"}},"required":["mode","projectIds"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"selected","type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"}},"required":["mode","projectIds"],"type":"object"}]},"serviceIdentityId":{"type":"string"},"status":{"enum":["installing","installed","paused","uninstalling","uninstalled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appId","approvedAppVersion","createdAt","effectivePermissions","installationId","installedByAccountId","operationId","organizationId","serviceIdentityId","status","updatedAt","version"],"type":"object"},"UpdateAppInstallationPermissionsUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateDefaultVoiceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileDirectionConfiguredProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"}]},"UpdateDefaultVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateDefaultVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UpdateDefaultVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateDefaultVoiceProfileRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"mediaEncryption":{"$ref":"#/components/schemas/VoiceProfileMediaEncryption"},"protocol":{"const":"sip","type":"string"}},"required":["expectedVersion"],"type":"object"},"UpdateOrganizationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateOrganizationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"}]},"UpdateOrganizationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateOrganizationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateOrganizationMemberRoleBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateOrganizationMemberRoleConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationTransferToSelfProblem"},{"$ref":"#/components/schemas/OrganizationOwnerInvariantProblem"},{"$ref":"#/components/schemas/OrganizationOwnerProtectedProblem"},{"$ref":"#/components/schemas/OrganizationSelfManagementForbiddenProblem"},{"$ref":"#/components/schemas/OrganizationMembershipVersionConflictProblem"},{"$ref":"#/components/schemas/OrganizationMemberRemovedProblem"},{"$ref":"#/components/schemas/OrganizationRecoveryRequiredProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}]},"UpdateOrganizationMemberRoleForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateOrganizationMemberRoleGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateOrganizationMemberRoleRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"role":{"enum":["admin","member","viewer"],"type":"string"}},"required":["expectedVersion","role"],"type":"object"},"UpdateOrganizationMemberRoleResponse":{"additionalProperties":false,"properties":{"accountId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"joinedVia":{"enum":["creation","invitation","sso_jit","migration","recovery"],"type":"string"},"organizationId":{"type":"string"},"removedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"role":{"enum":["owner","admin","member","viewer"],"type":"string"},"roleManagedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["active","removed"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["accountId","createdAt","joinedVia","organizationId","removedAt","role","roleManagedAt","status","updatedAt","version"],"type":"object"},"UpdateOrganizationMemberRoleUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateOrganizationOauthClientForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateOrganizationOauthClientGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateOrganizationOauthClientInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateOrganizationOauthClientRequest":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":1,"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["default","uri"],"type":"object"},"maxItems":10,"minItems":1,"type":"array"},"scopes":{"items":{"maxLength":128,"minLength":1,"type":"string"},"maxItems":20,"type":"array"}},"type":"object"},"UpdateOrganizationOauthClientResponse":{"additionalProperties":false,"properties":{"clientId":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"description":{"type":["string","null"]},"name":{"type":"string"},"redirectUris":{"items":{"additionalProperties":false,"properties":{"default":{"type":"boolean"},"uri":{"type":"string"}},"required":["default","uri"],"type":"object"},"type":"array"},"scopes":{"items":{"type":"string"},"type":"array"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["clientId","createdAt","description","name","redirectUris","scopes","updatedAt"],"type":"object"},"UpdateOrganizationRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"}},"required":["name","expectedVersion"],"type":"object"},"UpdateOrganizationResponse":{"additionalProperties":false,"properties":{"avatarUrl":{"type":["string","null"]},"billingInitialization":{"enum":["pending","retry_required","completed","unknown"],"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"type":"string"}},"required":["avatarUrl","createdAt","name","organizationId","updatedAt","version"],"type":"object"},"UpdateOrganizationSsoPolicyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidReturnToProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"UpdateOrganizationSsoPolicyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"UpdateOrganizationSsoPolicyGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateOrganizationSsoPolicyInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateOrganizationSsoPolicyPreconditionFailedProblem":{"oneOf":[{"$ref":"#/components/schemas/OrganizationSsoPreconditionFailedProblem"},{"$ref":"#/components/schemas/SsoSubscriptionRequiredProblem"}]},"UpdateOrganizationSsoPolicyRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^(0|[1-9][0-9]{0,19})$","type":"string"},"ssoJitEnabled":{"type":"boolean"}},"required":["expectedVersion","ssoJitEnabled"],"type":"object"},"UpdateOrganizationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateProjectApiKeyBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"UpdateProjectApiKeyForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateProjectApiKeyNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectNotFoundProblem"},{"$ref":"#/components/schemas/ApiKeyNotFoundProblem"}]},"UpdateProjectApiKeyRequest":{"additionalProperties":false,"properties":{"permissions":{"items":{"$ref":"#/components/schemas/ApiKeyPermission"},"minItems":1,"type":"array"}},"required":["permissions"],"type":"object"},"UpdateProjectApiKeyUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateProjectBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateProjectForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateProjectGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateProjectRequest":{"additionalProperties":false,"properties":{"name":{"maxLength":256,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"UpdateProjectUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateServiceIdentityBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/InvalidArgumentProblem"},{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateServiceIdentityConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AccountClosingProblem"},{"$ref":"#/components/schemas/OrganizationAuthPolicyChangedProblem"},{"$ref":"#/components/schemas/OrganizationUnavailableProblem"},{"$ref":"#/components/schemas/AppInstallationManagedProblem"},{"$ref":"#/components/schemas/ServiceIdentityVersionConflictProblem"}]},"UpdateServiceIdentityForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateServiceIdentityGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UpdateServiceIdentityRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"status":{"enum":["active","disabled"],"type":"string"}},"required":["expectedVersion"],"type":"object"},"UpdateServiceIdentityResponse":{"additionalProperties":false,"properties":{"appInstallationManaged":{"type":"boolean"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"createdByAccountId":{"type":"string"},"name":{"maxLength":256,"minLength":1,"type":"string"},"organizationId":{"type":"string"},"permissions":{"items":{"type":"string"},"minItems":1,"type":"array"},"serviceIdentityId":{"type":"string"},"status":{"enum":["active","disabled"],"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"updatedByAccountId":{"type":"string"},"version":{"pattern":"^[1-9][0-9]{0,18}$","type":"string"}},"required":["appInstallationManaged","createdAt","createdByAccountId","name","organizationId","permissions","serviceIdentityId","status","updatedAt","updatedByAccountId","version"],"type":"object"},"UpdateServiceIdentityUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UpdateTenDlcBrandBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateTenDlcBrandConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/RegistrationDetailsUnchangedProblem"}]},"UpdateTenDlcBrandForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateTenDlcBrandGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"UpdateTenDlcBrandInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateTenDlcBrandRequest":{"anyOf":[{"additionalProperties":false,"properties":{"profile":{"discriminator":{"mapping":{"organization":"#/components/schemas/OrganizationProfileInput","sole_proprietor":"#/components/schemas/SoleProprietorProfileInput"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/OrganizationProfileInput"},{"$ref":"#/components/schemas/SoleProprietorProfileInput"}]},"updateMask":{"prefixItems":[{"const":"profile","type":"string"}],"type":"array"}},"required":["profile","updateMask"],"type":"object"},{"additionalProperties":false,"properties":{"profile":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"companyName":{"maxLength":100,"minLength":1,"type":"string"},"displayName":{"maxLength":100,"minLength":1,"type":"string"},"ein":{"pattern":"^\\d{2}-?\\d{7}$","type":"string"},"email":{"format":"email","maxLength":100,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"lastName":{"maxLength":100,"minLength":1,"type":"string"},"phone":{"maxLength":20,"pattern":"^\\+[1-9]\\d{7,14}$","type":"string"},"supportEmail":{"format":"email","maxLength":254,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"type":{"const":"organization","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"},"website":{"format":"uri","maxLength":100,"type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"displayName":{"maxLength":100,"minLength":1,"type":"string"},"email":{"format":"email","maxLength":100,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"firstName":{"maxLength":100,"minLength":1,"type":"string"},"lastName":{"maxLength":100,"minLength":1,"type":"string"},"phone":{"pattern":"^\\+1\\d{10}$","type":"string"},"supportEmail":{"format":"email","maxLength":254,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"type":{"const":"sole_proprietor","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"}},"required":["type"],"type":"object"}]},"updateMask":{"items":{"enum":["profile.address","profile.companyName","profile.displayName","profile.ein","profile.email","profile.entityType","profile.firstName","profile.lastName","profile.phone","profile.supportEmail","profile.vertical","profile.website"],"type":"string"},"maxItems":12,"minItems":1,"type":"array"}},"required":["profile","updateMask"],"type":"object"}]},"UpdateTenDlcBrandResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"description":"Whether a PATCH would now be accepted to fix and resubmit a registration that was not accepted.","type":"boolean"},"editableFields":{"description":"The updateMask paths such a PATCH accepts for this profile type. Empty unless canResubmit.","items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"failureReasons":{"description":"Why the registration was not accepted, while the brand is action_required because of it. PATCH the named fields to fix and resubmit in one request. Empty otherwise.","example":[{"fields":["profile.address"],"message":"Street address is not valid"},{"fields":["profile.phone"],"message":"Mobile Phone Number not supported. Must be a Mobile Phone Number that can receive SMS messages."}],"items":{"additionalProperties":false,"properties":{"fields":{"description":"The updateMask paths this reason points at. Empty when it names no single field.","items":{"type":"string"},"type":"array"},"message":{"description":"Why the registration was not accepted.","type":"string"}},"required":["fields","message"],"type":"object"},"type":"array"},"feedback":{"items":{"additionalProperties":false,"properties":{"category":{"enum":["tax_id","nonprofit","other"],"type":"string"},"message":{"type":"string"}},"required":["category","message"],"type":"object"},"type":"array"},"id":{"type":"string"},"profile":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"companyName":{"type":"string"},"displayName":{"type":"string"},"einLast4":{"maxLength":4,"minLength":4,"type":"string"},"email":{"format":"email","type":"string"},"entityType":{"enum":["private_profit","non_profit"],"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"organization","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"},"website":{"format":"uri","type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","companyName","einLast4","entityType","type","website"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"additionalProperties":false,"properties":{"city":{"maxLength":100,"minLength":1,"type":"string"},"postalCode":{"pattern":"^\\d{5}$","type":"string"},"state":{"type":"string"},"street":{"maxLength":100,"minLength":1,"type":"string"}},"required":["city","postalCode","state","street"],"type":"object"},"displayName":{"type":"string"},"email":{"format":"email","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"supportEmail":{"format":"email","type":"string"},"type":{"const":"sole_proprietor","type":"string"},"vertical":{"enum":["agriculture","communication","construction","education","energy","entertainment","financial","gambling","government","healthcare","hospitality","human_resources","insurance","legal","manufacturing","ngo","political","postal","professional","real_estate","retail","technology","transportation"],"type":"string"}},"required":["address","displayName","email","firstName","lastName","phoneLast4","supportEmail","vertical","type"],"type":"object"}]},"registeredAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"status":{"enum":["submitting","submitted","action_required","otp_required","verified","vetted_verified","manual_review"],"type":"string"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"}},"required":["capabilities","createdAt","failureReasons","feedback","id","profile","status","updatedAt"],"type":"object"}},"required":["data"],"type":"object"},"UpdateTenDlcBrandServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"UpdateTenDlcBrandTooManyRequestsProblem":{"oneOf":[{"$ref":"#/components/schemas/RateLimitedProblem"},{"$ref":"#/components/schemas/BrandVerificationRateLimitedProblem"}]},"UpdateTenDlcBrandUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/UnsupportedEntityTypeProblem"},{"$ref":"#/components/schemas/PhoneNotSmsCapableProblem"}]},"UpdateTenDlcCampaignBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"UpdateTenDlcCampaignConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/InvalidCampaignStateProblem"},{"$ref":"#/components/schemas/CampaignRegistrationUnavailableProblem"}]},"UpdateTenDlcCampaignForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateTenDlcCampaignGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"UpdateTenDlcCampaignInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateTenDlcCampaignNotFoundProblem":{"oneOf":[{"$ref":"#/components/schemas/BrandNotFoundProblem"},{"$ref":"#/components/schemas/CampaignNotFoundProblem"}]},"UpdateTenDlcCampaignRequest":{"additionalProperties":false,"properties":{"description":{"maxLength":4096,"minLength":40,"type":"string"},"embeddedLinkSample":{"anyOf":[{"format":"uri","maxLength":2048,"type":"string"},{"type":"null"}]},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"maxLength":256,"minLength":1,"type":"string"},"helpKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"helpMessage":{"maxLength":320,"minLength":20,"type":"string"},"messageFlow":{"maxLength":2048,"minLength":40,"type":"string"},"name":{"maxLength":64,"minLength":1,"type":"string"},"optInKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"optInMessage":{"maxLength":320,"minLength":20,"type":"string"},"optOutKeywords":{"items":{"pattern":"^[A-Z0-9]+$","type":"string"},"minItems":1,"type":"array"},"optOutMessage":{"maxLength":320,"minLength":20,"type":"string"},"privacyPolicyUrl":{"format":"uri","maxLength":2048,"type":"string"},"sampleMessages":{"items":{"maxLength":255,"minLength":20,"type":"string"},"maxItems":5,"minItems":2,"type":"array"},"termsAndConditionsUrl":{"format":"uri","maxLength":2048,"type":"string"},"updateMask":{"items":{"enum":["name","description","messageFlow","sampleMessages","optInMessage","optOutMessage","helpMessage","optInKeywords","optOutKeywords","helpKeywords","privacyPolicyUrl","termsAndConditionsUrl","embeddedLinks","embeddedPhoneNumbers","embeddedLinkSample"],"type":"string"},"maxItems":15,"minItems":1,"type":"array"}},"required":["etag","updateMask"],"type":"object"},"UpdateTenDlcCampaignResponse":{"additionalProperties":false,"properties":{"campaign":{"additionalProperties":false,"properties":{"brandId":{"type":"string"},"capabilities":{"additionalProperties":false,"properties":{"canResubmit":{"type":"boolean"},"editableFields":{"items":{"type":"string"},"type":"array"}},"required":["canResubmit","editableFields"],"type":"object"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"currentStep":{"anyOf":[{"enum":["brand_verification","brand_qualification","submission","registration","compliance_review","carrier_processing","carrier_activation","billing_activation"],"type":"string"},{"type":"null"}],"description":"The current or blocked step; null when no active step is known."},"description":{"type":"string"},"embeddedLinkSample":{"format":"uri","maxLength":2048,"type":"string"},"embeddedLinks":{"type":"boolean"},"embeddedPhoneNumbers":{"type":"boolean"},"etag":{"type":"string"},"failureReasons":{"description":"Photon review failure explanations. Empty when none are available for the current attempt.","items":{"additionalProperties":false,"properties":{"message":{"description":"Photon guidance for this campaign failure. Unrecognized failures receive a generic Photon support message.","type":"string"}},"required":["message"],"type":"object"},"type":"array"},"hasUnsubmittedChanges":{"type":"boolean"},"helpKeywords":{"items":{"type":"string"},"type":"array"},"helpMessage":{"type":"string"},"id":{"type":"string"},"messageFlow":{"type":"string"},"name":{"type":"string"},"optInKeywords":{"items":{"type":"string"},"type":"array"},"optInMessage":{"type":"string"},"optOutKeywords":{"items":{"type":"string"},"type":"array"},"optOutMessage":{"type":"string"},"privacyPolicyUrl":{"type":"string"},"readyAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"reviewRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sampleMessages":{"items":{"type":"string"},"type":"array"},"status":{"description":"Overall campaign state. reviewing means checks are pending; activating means activation is in progress; ready means activation and billing are complete. action_required needs customer corrections; support_required needs support assistance.","enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"},"statusMessage":{"description":"A plain-language explanation of the current campaign state.","type":"string"},"statusReason":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"submittedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"submittedRevision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"subscriberHelp":{"const":true,"type":"boolean"},"subscriberOptIn":{"const":true,"type":"boolean"},"subscriberOptOut":{"const":true,"type":"boolean"},"termsAndConditionsAccepted":{"const":true,"type":"boolean"},"termsAndConditionsUrl":{"type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"useCases":{"items":{"enum":["2FA","ACCOUNT_NOTIFICATION","CUSTOMER_CARE","DELIVERY_NOTIFICATION","FRAUD_ALERT","HIGHER_EDUCATION","MARKETING","POLLING_VOTING","PUBLIC_SERVICE_ANNOUNCEMENT","SECURITY_ALERT"],"type":"string"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["brandId","capabilities","createdAt","currentStep","description","embeddedLinks","embeddedPhoneNumbers","etag","failureReasons","hasUnsubmittedChanges","helpKeywords","helpMessage","id","messageFlow","name","optInKeywords","optInMessage","optOutKeywords","optOutMessage","privacyPolicyUrl","reviewRevision","revision","sampleMessages","status","statusMessage","submittedRevision","subscriberHelp","subscriberOptIn","subscriberOptOut","termsAndConditionsAccepted","termsAndConditionsUrl","updatedAt","useCases"],"type":"object"}},"required":["campaign"],"type":"object"},"UpdateTenDlcCampaignServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"UpdateTenDlcCampaignUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/CampaignValidationFailedProblem"}]},"UpdateVoiceProfileConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileDirectionConfiguredProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"},{"$ref":"#/components/schemas/VoiceDefaultProfileMetadataForbiddenProblem"}]},"UpdateVoiceProfileForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateVoiceProfileGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UpdateVoiceProfileInboundConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"}]},"UpdateVoiceProfileInboundForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateVoiceProfileInboundGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UpdateVoiceProfileInboundInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateVoiceProfileInboundRequest":{"additionalProperties":false,"properties":{"credentials":{"anyOf":[{"$ref":"#/components/schemas/SipInboundCredentialsWithPassword"},{"type":"null"}]},"destinationUri":{"maxLength":2048,"minLength":1,"type":"string"},"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["expectedVersion"],"type":"object"},"UpdateVoiceProfileInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateVoiceProfileOutboundAuthenticationConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/ProjectClosingProblem"},{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"},{"$ref":"#/components/schemas/VoiceOutboundOperationPendingProblem"},{"$ref":"#/components/schemas/VoiceOutboundNotConfiguredProblem"}]},"UpdateVoiceProfileOutboundAuthenticationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateVoiceProfileOutboundAuthenticationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UpdateVoiceProfileOutboundAuthenticationInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpdateVoiceProfileOutboundAuthenticationRequest":{"additionalProperties":false,"properties":{"authentication":{"$ref":"#/components/schemas/SipOutboundAuthenticationPolicy"},"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["authentication","expectedVersion"],"type":"object"},"UpdateVoiceProfileOutboundAuthenticationResponse":{"additionalProperties":false,"properties":{"outbound":{"$ref":"#/components/schemas/SipOutboundConfiguration"},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["outbound","profileVersion"],"type":"object"},"UpdateVoiceProfileRequest":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"mediaEncryption":{"$ref":"#/components/schemas/VoiceProfileMediaEncryption"},"name":{"maxLength":100,"minLength":1,"type":"string"},"protocol":{"const":"sip","type":"string"}},"required":["expectedVersion"],"type":"object"},"UpdateWebhookDestinationBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"},{"$ref":"#/components/schemas/InvalidArgumentProblem"}]},"UpdateWebhookDestinationForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UpdateWebhookDestinationGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/UpstreamTimeoutProblem"}]},"UpdateWebhookDestinationRequest":{"additionalProperties":false,"minProperties":1,"properties":{"description":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}]},"enabledEvents":{"$ref":"#/components/schemas/WebhookEventSelection"},"name":{"maxLength":256,"minLength":1,"type":"string"},"status":{"$ref":"#/components/schemas/WebhookDestinationStatus"},"url":{"description":"HTTPS URL without credentials or a fragment.","format":"uri","maxLength":2048,"minLength":1,"type":"string"}},"type":"object"},"UpdateWebhookDestinationUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}]},"UploadAttachmentBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/HttpErrorProblem"},{"$ref":"#/components/schemas/InvalidAttachmentRequestProblem"}]},"UploadAttachmentConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/AttachmentConflictProblem"},{"$ref":"#/components/schemas/AttachmentUploadNotReadyProblem"}]},"UploadAttachmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"UploadAttachmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"UploadAttachmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"UpstreamFailureProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UPSTREAM_FAILURE","status":502,"title":"Upstream Service Failure","type":"https://photon.codes/docs/problems/upstream-failure"},"properties":{"code":{"const":"UPSTREAM_FAILURE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"Upstream Service Failure","type":"string"},"type":{"const":"https://photon.codes/docs/problems/upstream-failure","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UpstreamTimeoutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UPSTREAM_TIMEOUT","status":504,"title":"Upstream Service Timeout","type":"https://photon.codes/docs/problems/upstream-timeout"},"properties":{"code":{"const":"UPSTREAM_TIMEOUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"Upstream Service Timeout","type":"string"},"type":{"const":"https://photon.codes/docs/problems/upstream-timeout","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UpstreamUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"UPSTREAM_UNAVAILABLE","status":503,"title":"Upstream Service Unavailable","type":"https://photon.codes/docs/problems/upstream-unavailable"},"properties":{"code":{"const":"UPSTREAM_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":503,"type":"number"},"title":{"const":"Upstream Service Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/upstream-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UsageCharge":{"additionalProperties":false,"properties":{"chargeCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"chargeModel":{"$ref":"#/components/schemas/UsageChargeModel"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"filters":{"items":{"$ref":"#/components/schemas/UsageChargeFilter"},"type":"array"},"invoiceable":{"type":"boolean"},"metricCode":{"type":"string"},"minimumAmountCents":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"payInAdvance":{"type":"boolean"},"pricing":{"$ref":"#/components/schemas/UsageChargePricing"},"prorated":{"type":"boolean"}},"required":["chargeCode","chargeModel","displayName","filters","invoiceable","metricCode","minimumAmountCents","payInAdvance","pricing","prorated"],"type":"object"},"UsageChargeFilter":{"additionalProperties":false,"properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"pricing":{"$ref":"#/components/schemas/UsageChargePricing"},"values":{"items":{"$ref":"#/components/schemas/UsageChargeFilterValue"},"type":"array"}},"required":["displayName","pricing","values"],"type":"object"},"UsageChargeFilterValue":{"additionalProperties":false,"properties":{"key":{"type":"string"},"values":{"items":{"type":"string"},"type":"array"}},"required":["key","values"],"type":"object"},"UsageChargeModel":{"enum":["dynamic","graduated","graduated_percentage","package","percentage","standard","volume"],"type":"string"},"UsageChargePricing":{"additionalProperties":false,"properties":{"amount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"fixedAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"freeUnits":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"freeUnitsPerEvents":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"freeUnitsPerTotalAggregation":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"packageSize":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"perTransactionMaxAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"perTransactionMinAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"pricingGroupKeys":{"items":{"type":"string"},"type":"array"},"rate":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"tiers":{"items":{"$ref":"#/components/schemas/UsageChargeTier"},"type":"array"}},"required":["amount","fixedAmount","freeUnits","freeUnitsPerEvents","freeUnitsPerTotalAggregation","packageSize","perTransactionMaxAmount","perTransactionMinAmount","pricingGroupKeys","rate","tiers"],"type":"object"},"UsageChargeTier":{"additionalProperties":false,"properties":{"flatAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"fromUnit":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"perUnitAmount":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"rate":{"anyOf":[{"description":"Decimal amount in the plan currency. Kept as text so sub-cent unit prices remain exact.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},{"type":"null"}]},"toUnit":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["flatAmount","fromUnit","perUnitAmount","rate","toUnit"],"type":"object"},"User":{"anyOf":[{"$ref":"#/components/schemas/SmsUser"},{"$ref":"#/components/schemas/WhatsappUser"},{"$ref":"#/components/schemas/WhatsappBusinessUser"},{"$ref":"#/components/schemas/EmailUser"},{"$ref":"#/components/schemas/VoiceUser"},{"$ref":"#/components/schemas/ImessageUser"},{"$ref":"#/components/schemas/TelegramUser"}],"x-photon-extension":{"discriminator":"platform","fallback":"#/$defs/UnknownUser","reserved":["sms","whatsapp","whatsapp_business","email","voice","imessage","telegram"]}},"UserCount":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["count"],"type":"object"},"UserId":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"UserIdentityConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"USER_IDENTITY_CONFLICT","status":409,"title":"User Identity Conflict","type":"https://photon.codes/docs/problems/user-identity-conflict"},"properties":{"code":{"const":"USER_IDENTITY_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"User Identity Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/user-identity-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UserLineType":{"enum":["shared","dedicated"],"type":"string"},"UserNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"USER_NOT_FOUND","status":404,"title":"User Not Found","type":"https://photon.codes/docs/problems/user-not-found"},"properties":{"code":{"const":"USER_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"User Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/user-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"UserPage":{"additionalProperties":false,"example":{"items":[{"createdAt":"2026-01-01T00:00:00.000Z","details":{"resourceId":"pho_res_00000000000000000000000001","type":"dedicated"},"handle":"+14155550123","id":"pho_usr_00000000000000000000000001","kind":"agent","metadata":{},"platform":"whatsapp","projectId":"pho_prj_00000000000000000000000001","updatedAt":"2026-01-01T00:00:00.000Z"}]},"properties":{"items":{"description":"Unsupported platforms and records with unsupported data are omitted.","items":{"$ref":"#/components/schemas/PlatformUser"},"type":"array"},"nextPageToken":{"description":"Continue with this token, even if items is empty. Omitted when no more pages remain.","maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},"required":["items"],"type":"object"},"UserSnapshot":{"anyOf":[{"$ref":"#/components/schemas/SmsUserSnapshot"},{"$ref":"#/components/schemas/WhatsappUserSnapshot"},{"$ref":"#/components/schemas/WhatsappBusinessUserSnapshot"},{"$ref":"#/components/schemas/EmailUserSnapshot"},{"$ref":"#/components/schemas/VoiceUserSnapshot"},{"$ref":"#/components/schemas/ImessageUserSnapshot"},{"$ref":"#/components/schemas/TelegramUserSnapshot"}],"x-photon-extension":{"discriminator":"platform","fallback":"#/$defs/UnknownUserSnapshot","reserved":["sms","whatsapp","whatsapp_business","email","voice","imessage","telegram"]}},"ValidationFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VALIDATION_FAILED","issues":[{"code":"invalid_type","location":"json","message":"Expected a string.","path":"/https/api.photon.codes/name"}],"status":422,"title":"Request Validation Failed","type":"https://photon.codes/docs/problems/validation-failed"},"properties":{"code":{"const":"VALIDATION_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"issues":{"items":{"$ref":"#/components/schemas/ValidationIssue"},"type":"array"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"Request Validation Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/validation-failed","type":"string"}},"required":["issues","code","status","title","type"],"type":"object"},"ValidationIssue":{"additionalProperties":false,"properties":{"code":{"minLength":1,"type":"string"},"location":{"$ref":"#/components/schemas/ValidationLocation"},"message":{"minLength":1,"type":"string"},"path":{"type":"string"}},"required":["code","location","message","path"],"type":"object"},"ValidationLocation":{"enum":["body","cookie","form","header","json","param","query"],"type":"string"},"VerifyTenDlcBrandOtpBadRequestProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyKeyRequiredProblem"},{"$ref":"#/components/schemas/IdempotencyKeyInvalidProblem"}]},"VerifyTenDlcBrandOtpConflictProblem":{"oneOf":[{"$ref":"#/components/schemas/IdempotencyConflictProblem"},{"$ref":"#/components/schemas/InvalidLifecycleStateProblem"},{"$ref":"#/components/schemas/OrganizationClosingProblem"},{"$ref":"#/components/schemas/OtpLockedProblem"}]},"VerifyTenDlcBrandOtpForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"},{"$ref":"#/components/schemas/ResourceMismatchProblem"}]},"VerifyTenDlcBrandOtpGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/RequestTimeoutProblem"},{"$ref":"#/components/schemas/ServiceTimeoutProblem"}]},"VerifyTenDlcBrandOtpInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"VerifyTenDlcBrandOtpRequest":{"additionalProperties":false,"properties":{"otpPin":{"maxLength":10,"minLength":4,"pattern":"^[A-Za-z0-9]+$","type":"string"}},"required":["otpPin"],"type":"object"},"VerifyTenDlcBrandOtpResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"attemptsRemaining":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"brandId":{"type":"string"},"expiresAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"phoneLast4":{"maxLength":4,"minLength":4,"type":"string"},"retryAfterSeconds":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_requested","delivery_pending","sent","verified","expired","failed","locked"],"type":"string"}},"required":["brandId","phoneLast4","status"],"type":"object"}},"required":["data"],"type":"object"},"VerifyTenDlcBrandOtpServiceUnavailableProblem":{"oneOf":[{"$ref":"#/components/schemas/ServiceUnavailableProblem"},{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}]},"VerifyTenDlcBrandOtpTooManyRequestsProblem":{"oneOf":[{"$ref":"#/components/schemas/RateLimitedProblem"},{"$ref":"#/components/schemas/OtpRateLimitedProblem"}]},"VerifyTenDlcBrandOtpUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"},{"$ref":"#/components/schemas/UnsupportedEntityTypeProblem"},{"$ref":"#/components/schemas/PhoneNotSmsCapableProblem"},{"$ref":"#/components/schemas/OtpVerificationRejectedProblem"}]},"VerifyTotpEnrollmentForbiddenProblem":{"oneOf":[{"$ref":"#/components/schemas/ForbiddenProblem"},{"$ref":"#/components/schemas/InsufficientScopeProblem"},{"$ref":"#/components/schemas/OrganizationSsoRequiredProblem"}]},"VerifyTotpEnrollmentGatewayTimeoutProblem":{"oneOf":[{"$ref":"#/components/schemas/UpstreamTimeoutProblem"},{"$ref":"#/components/schemas/RequestTimeoutProblem"}]},"VerifyTotpEnrollmentInternalServerErrorProblem":{"oneOf":[{"$ref":"#/components/schemas/InternalErrorProblem"},{"$ref":"#/components/schemas/InvalidAuthContextProblem"}]},"VerifyTotpEnrollmentRequest":{"additionalProperties":false,"properties":{"enrollmentToken":{"description":"Opaque enrollmentToken returned by begin TOTP enrollment. Submit it before expiresAt.","maxLength":4096,"minLength":1,"type":"string"},"verificationCode":{"description":"Six-digit code from the authenticator configured with the enrollment secret. Send as a string to preserve leading zeros.","pattern":"^[0-9]{6}$","type":"string"}},"required":["enrollmentToken","verificationCode"],"type":"object"},"VerifyTotpEnrollmentResponse":{"additionalProperties":false,"properties":{"enrolled":{"const":true,"description":"Always true after the TOTP factor has been successfully verified and enrolled.","type":"boolean"},"factorId":{"description":"Identifier of a TOTP authentication factor, prefixed with auth_factor_.","maxLength":128,"pattern":"^auth_factor_[A-Za-z0-9]+$","type":"string"}},"required":["enrolled","factorId"],"type":"object"},"VerifyTotpEnrollmentUnprocessableEntityProblem":{"oneOf":[{"$ref":"#/components/schemas/ValidationFailedProblem"},{"$ref":"#/components/schemas/MfaVerificationFailedProblem"}]},"VoiceCallAnsweredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallAnsweredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.answered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallAnsweredEventData":{"additionalProperties":false,"properties":{"object":{"$ref":"#/components/schemas/Call"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceCallConnectedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallConnectedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.connected","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallConnectedEventData":{"additionalProperties":false,"properties":{"object":{"$ref":"#/components/schemas/Call"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceCallDtmfReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallDtmfReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.dtmf.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallDtmfReceivedEventData":{"additionalProperties":false,"properties":{"object":{"oneOf":[{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"started","type":"string"},"timestamps":{"$ref":"#/components/schemas/StartedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"ringing","type":"string"},"timestamps":{"$ref":"#/components/schemas/RingingCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"answered","type":"string"},"timestamps":{"$ref":"#/components/schemas/AnsweredCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"connected","type":"string"},"timestamps":{"$ref":"#/components/schemas/ConnectedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"completed","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedAfterConnectCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"busy","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"no_answer","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedBeforeAnswerCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"rejected","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"canceled","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedBeforeAnswerCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"},{"additionalProperties":false,"properties":{"callee":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"caller":{"$ref":"#/components/schemas/VoiceUserSnapshot"},"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"direction":{"$ref":"#/components/schemas/CallDirection"},"dtmfInputs":{"description":"The latest recorded key presses, at most 100, in recording order. Empty when none are recorded.","items":{"$ref":"#/components/schemas/CallDtmfInput"},"maxItems":100,"minItems":1,"type":"array"},"dtmfInputsTruncated":{"description":"True once an earlier key press has been dropped from dtmfInputs; it then stays true.","type":"boolean"},"id":{"$ref":"#/components/schemas/CallId"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"space":{"$ref":"#/components/schemas/VoiceDirectSpaceSnapshot"},"status":{"const":"failed","type":"string"},"timestamps":{"$ref":"#/components/schemas/EndedCallTimestamps"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"voiceProfile":{"$ref":"#/components/schemas/CallVoiceProfile"}},"required":["id","projectId","platform","createdAt","updatedAt","direction","voiceProfile","space","caller","callee","dtmfInputs","dtmfInputsTruncated","metadata","status","timestamps"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceCallEndedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallEndedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.ended","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallEndedEventData":{"additionalProperties":false,"properties":{"object":{"$ref":"#/components/schemas/EndedCall"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceCallRingingEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallRingingEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.ringing","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallRingingEventData":{"additionalProperties":false,"properties":{"object":{"$ref":"#/components/schemas/Call"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceCallStartedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoiceCallStartedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"call.started","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoiceCallStartedEventData":{"additionalProperties":false,"properties":{"object":{"$ref":"#/components/schemas/Call"},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceContent":{"additionalProperties":false,"properties":{"attachmentId":{"$ref":"#/components/schemas/AttachmentId"},"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"type":{"const":"voice","type":"string"}},"required":["type","attachmentId"],"type":"object"},"VoiceDefaultProfileAssignmentForbiddenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_DEFAULT_PROFILE_ASSIGNMENT_FORBIDDEN","status":409,"title":"Voice Default Profile Assignment Forbidden","type":"https://photon.codes/docs/problems/voice-default-profile-assignment-forbidden"},"properties":{"code":{"const":"VOICE_DEFAULT_PROFILE_ASSIGNMENT_FORBIDDEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Default Profile Assignment Forbidden","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-default-profile-assignment-forbidden","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceDefaultProfileDeletionForbiddenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_DEFAULT_PROFILE_DELETION_FORBIDDEN","status":409,"title":"Voice Default Profile Deletion Forbidden","type":"https://photon.codes/docs/problems/voice-default-profile-deletion-forbidden"},"properties":{"code":{"const":"VOICE_DEFAULT_PROFILE_DELETION_FORBIDDEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Default Profile Deletion Forbidden","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-default-profile-deletion-forbidden","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceDefaultProfileExistsProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_DEFAULT_PROFILE_EXISTS","status":409,"title":"Voice Default Profile Exists","type":"https://photon.codes/docs/problems/voice-default-profile-exists"},"properties":{"code":{"const":"VOICE_DEFAULT_PROFILE_EXISTS","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Default Profile Exists","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-default-profile-exists","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceDefaultProfileMetadataForbiddenProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_DEFAULT_PROFILE_METADATA_FORBIDDEN","remediation":{"action":"Change the default profile's protocol or mediaEncryption with PATCH /v1/projects/{id}/platforms/voice/profiles/default. Its name cannot change."},"status":409,"title":"Voice Default Profile Metadata Forbidden","type":"https://photon.codes/docs/problems/voice-default-profile-metadata-forbidden"},"properties":{"code":{"const":"VOICE_DEFAULT_PROFILE_METADATA_FORBIDDEN","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Default Profile Metadata Forbidden","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-default-profile-metadata-forbidden","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"VoiceDefaultProfileRequiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_DEFAULT_PROFILE_REQUIRED","status":409,"title":"Voice Default Profile Required","type":"https://photon.codes/docs/problems/voice-default-profile-required"},"properties":{"code":{"const":"VOICE_DEFAULT_PROFILE_REQUIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Default Profile Required","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-default-profile-required","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceDirectSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/VoiceSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"const":"direct","type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"maxItems":2,"minItems":2,"type":"array","uniqueItems":true},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"VoiceLineProfileAssignment":{"additionalProperties":false,"properties":{"profileId":{"type":"string"},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"projectId":{"type":"string"},"resourceId":{"type":"string"},"resourceVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["projectId","resourceId","resourceVersion","updatedAt"],"type":"object"},"VoiceLineProfileAssignmentUpdate":{"additionalProperties":false,"properties":{"expectedVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"profileId":{"type":["string","null"]},"resourceId":{"type":"string"}},"required":["expectedVersion","profileId","resourceId"],"type":"object"},"VoiceMetadata":{"additionalProperties":false,"properties":{"durationMs":{"description":"Server-observed recording duration in milliseconds, when known.","maximum":9007199254740991,"minimum":0,"type":"integer"},"transcript":{"description":"Text the sender's platform transcribed from the recording, when it delivers one.","minLength":1,"type":"string"},"waveform":{"description":"Server-provided normalized waveform samples for optional display.","items":{"maximum":1,"minimum":0,"type":"number"},"type":"array"}},"type":"object"},"VoiceOutboundConfiguredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_OUTBOUND_CONFIGURED","status":409,"title":"Voice Outbound Already Configured","type":"https://photon.codes/docs/problems/voice-outbound-configured"},"properties":{"code":{"const":"VOICE_OUTBOUND_CONFIGURED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Outbound Already Configured","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-outbound-configured","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceOutboundCredentialRotationMode":{"enum":["normal","emergency"],"type":"string"},"VoiceOutboundNotConfiguredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_OUTBOUND_NOT_CONFIGURED","status":409,"title":"Voice Outbound Not Configured","type":"https://photon.codes/docs/problems/voice-outbound-not-configured"},"properties":{"code":{"const":"VOICE_OUTBOUND_NOT_CONFIGURED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Outbound Not Configured","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-outbound-not-configured","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceOutboundOperationPendingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_OUTBOUND_OPERATION_PENDING","status":409,"title":"Voice Outbound Operation Pending","type":"https://photon.codes/docs/problems/voice-outbound-operation-pending"},"properties":{"code":{"const":"VOICE_OUTBOUND_OPERATION_PENDING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Outbound Operation Pending","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-outbound-operation-pending","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoicePlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/VoicePlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"voice.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"VoicePlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"voice","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"voice","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"voice","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"voice","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"VoiceProfile":{"additionalProperties":false,"properties":{"configuration":{"$ref":"#/components/schemas/VoiceProfileConfiguration"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"isDefault":{"type":"boolean"},"lineCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mediaEncryption":{"$ref":"#/components/schemas/VoiceProfileMediaEncryption"},"name":{"type":"string"},"profileId":{"type":"string"},"projectId":{"type":"string"},"protocol":{"const":"sip","type":"string"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["configuration","createdAt","isDefault","lineCount","mediaEncryption","name","profileId","projectId","protocol","updatedAt","version"],"type":"object"},"VoiceProfileConfiguration":{"additionalProperties":false,"properties":{"inbound":{"anyOf":[{"$ref":"#/components/schemas/SipInboundConfiguration"},{"type":"null"}]},"outbound":{"anyOf":[{"$ref":"#/components/schemas/SipOutboundConfiguration"},{"type":"null"}]}},"required":["inbound","outbound"],"type":"object"},"VoiceProfileDirectionConfiguredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_PROFILE_DIRECTION_CONFIGURED","status":409,"title":"Voice Profile Direction Configured","type":"https://photon.codes/docs/problems/voice-profile-direction-configured"},"properties":{"code":{"const":"VOICE_PROFILE_DIRECTION_CONFIGURED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Profile Direction Configured","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-profile-direction-configured","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceProfileId":{"pattern":"^pho_vpf_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"VoiceProfileInUseProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_PROFILE_IN_USE","status":409,"title":"Voice Profile In Use","type":"https://photon.codes/docs/problems/voice-profile-in-use"},"properties":{"code":{"const":"VOICE_PROFILE_IN_USE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Profile In Use","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-profile-in-use","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceProfileInboundConfiguration":{"additionalProperties":false,"properties":{"inbound":{"anyOf":[{"$ref":"#/components/schemas/SipInboundConfiguration"},{"type":"null"}]},"profileVersion":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["inbound","profileVersion"],"type":"object"},"VoiceProfileMediaEncryption":{"enum":["auto","srtp"],"type":"string"},"VoiceProfileNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_PROFILE_NOT_FOUND","status":404,"title":"Voice Profile Not Found","type":"https://photon.codes/docs/problems/voice-profile-not-found"},"properties":{"code":{"const":"VOICE_PROFILE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Voice Profile Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-profile-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceProfilePage":{"additionalProperties":false,"properties":{"nextPageToken":{"type":"string"},"profiles":{"items":{"$ref":"#/components/schemas/VoiceProfile"},"type":"array"}},"required":["profiles"],"type":"object"},"VoiceProfileVersionConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"VOICE_PROFILE_VERSION_CONFLICT","status":409,"title":"Voice Profile Version Conflict","type":"https://photon.codes/docs/problems/voice-profile-version-conflict"},"properties":{"code":{"const":"VOICE_PROFILE_VERSION_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"Voice Profile Version Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/voice-profile-version-conflict","type":"string"}},"required":["code","status","title","type"],"type":"object"},"VoiceSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/VoiceSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"VoiceSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"VoiceSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/VoiceSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"VoiceUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/VoiceUserDetails"},"handle":{"pattern":"^\\+[1-9][0-9]{1,14}$","type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"VoiceUserDetails":{"additionalProperties":false,"properties":{"managedBy":{"$ref":"#/components/schemas/ManagerId"},"resourceId":{"$ref":"#/components/schemas/ResourceId"}},"type":"object"},"VoiceUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/VoiceUserDetails"},"handle":{"pattern":"^\\+[1-9][0-9]{1,14}$","type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"voice","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"WebhookApiVersion":{"oneOf":[{"$ref":"#/components/schemas/SelectableWebhookApiVersion"},{"$ref":"#/components/schemas/DeprecatedWebhookApiVersion"}]},"WebhookApiVersionRetirement":{"additionalProperties":false,"properties":{"migrationGuide":{"minLength":1,"type":"string"},"reason":{"minLength":1,"type":"string"}},"required":["migrationGuide","reason"],"type":"object"},"WebhookDestination":{"additionalProperties":false,"properties":{"apiVersion":{"format":"date","type":"string"},"createdAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"deletedAt":{"anyOf":[{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"destinationId":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"enabledEvents":{"$ref":"#/components/schemas/WebhookEventSelection"},"name":{"type":"string"},"projectId":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"},"status":{"$ref":"#/components/schemas/WebhookDestinationStatus"},"updatedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","type":"string"},"url":{"format":"uri","type":"string"}},"required":["apiVersion","createdAt","deletedAt","description","destinationId","enabledEvents","name","projectId","status","updatedAt","url"],"type":"object"},"WebhookDestinationDeletedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WEBHOOK_DESTINATION_DELETED","status":410,"title":"Webhook Destination Deleted","type":"https://photon.codes/docs/problems/webhook-destination-deleted"},"properties":{"code":{"const":"WEBHOOK_DESTINATION_DELETED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"title":{"const":"Webhook Destination Deleted","type":"string"},"type":{"const":"https://photon.codes/docs/problems/webhook-destination-deleted","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WebhookDestinationNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WEBHOOK_DESTINATION_NOT_FOUND","status":404,"title":"Webhook Destination Not Found","type":"https://photon.codes/docs/problems/webhook-destination-not-found"},"properties":{"code":{"const":"WEBHOOK_DESTINATION_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"Webhook Destination Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/webhook-destination-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WebhookDestinationPage":{"additionalProperties":false,"properties":{"destinations":{"items":{"$ref":"#/components/schemas/WebhookDestination"},"type":"array"},"nextPageToken":{"minLength":1,"type":"string"}},"required":["destinations"],"type":"object"},"WebhookDestinationStatus":{"enum":["enabled","disabled"],"type":"string"},"WebhookEgressAddress":{"format":"ipv4","type":"string"},"WebhookEventSchema":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},"WebhookEventSelection":{"anyOf":[{"$ref":"#/components/schemas/AllWebhookEvents"},{"$ref":"#/components/schemas/WebhookEventTypeList"}]},"WebhookEventType":{"additionalProperties":false,"properties":{"audience":{"$ref":"#/components/schemas/WebhookEventTypeAudience"},"description":{"type":"string"},"schemaProfile":{"const":"reader","type":"string"},"schemaUrl":{"example":"/v1/projects/pho_prj_00000000000000000000000001/webhooks/event-types/message.received/schema?apiVersion=2026-07-01","format":"uri-reference","pattern":"^\\/v1\\/projects\\/.*","type":"string"},"type":{"pattern":"^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9_-]*)+$","type":"string"}},"required":["audience","description","schemaProfile","schemaUrl","type"],"type":"object"},"WebhookEventTypeAudience":{"enum":["agent","infrastructure"],"type":"string"},"WebhookEventTypeList":{"items":{"$ref":"#/components/schemas/WebhookEventTypeName"},"maxItems":256,"minItems":1,"type":"array","uniqueItems":true},"WebhookEventTypeName":{"pattern":"^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9_-]*)+$","type":"string"},"WebhookEventWildcard":{"const":"*","type":"string"},"WhatsappAccountDisconnectFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_ACCOUNT_DISCONNECT_FAILED","remediation":{"action":"The business account is still connected. Contact support@photon.codes."},"status":502,"title":"WhatsApp Account Disconnect Failed","type":"https://photon.codes/docs/problems/whatsapp-account-disconnect-failed"},"properties":{"code":{"const":"WHATSAPP_ACCOUNT_DISCONNECT_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"WhatsApp Account Disconnect Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-account-disconnect-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappAccountDisconnectingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_ACCOUNT_DISCONNECTING","status":409,"title":"WhatsApp Business Account Disconnecting","type":"https://photon.codes/docs/problems/whatsapp-account-disconnecting"},"properties":{"code":{"const":"WHATSAPP_ACCOUNT_DISCONNECTING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Business Account Disconnecting","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-account-disconnecting","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappAccountPhoneNumber":{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"ownership":{"$ref":"#/components/schemas/WhatsappPhoneNumberOwnership"},"phoneNumber":{"pattern":"^\\+[1-9]\\d{1,14}$","type":"string"},"phoneNumberId":{"minLength":1,"type":"string"}},"required":["displayName","ownership","phoneNumber","phoneNumberId"],"type":"object"},"WhatsappAccountProvisioningProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_ACCOUNT_PROVISIONING","status":409,"title":"WhatsApp Business Account Has Provisioning Numbers","type":"https://photon.codes/docs/problems/whatsapp-account-provisioning"},"properties":{"code":{"const":"WHATSAPP_ACCOUNT_PROVISIONING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Business Account Has Provisioning Numbers","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-account-provisioning","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappAuthorizationRevokedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_AUTHORIZATION_REVOKED","remediation":{"action":"Reconnect the WhatsApp Business account."},"status":403,"title":"WhatsApp Authorization Revoked","type":"https://photon.codes/docs/problems/whatsapp-authorization-revoked"},"properties":{"code":{"const":"WHATSAPP_AUTHORIZATION_REVOKED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"WhatsApp Authorization Revoked","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-authorization-revoked","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappBusinessAccount":{"additionalProperties":false,"properties":{"accountName":{"type":["string","null"]},"alerts":{"items":{"$ref":"#/components/schemas/WhatsappBusinessAccountAlert"},"type":"array"},"businessId":{"type":"string"},"businessName":{"type":["string","null"]},"connectedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"maxPhoneNumbersPerBusiness":{"maximum":2147483647,"minimum":0,"type":"integer"},"outboundCapacity":{"$ref":"#/components/schemas/WhatsappOutboundCapacity"},"restriction":{"anyOf":[{"$ref":"#/components/schemas/WhatsappBusinessAccountRestriction"},{"type":"null"}]},"reviewStatus":{"$ref":"#/components/schemas/WhatsappReviewStatus"},"senderCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"subscribedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"wabaId":{"type":"string"}},"required":["accountName","alerts","businessId","businessName","connectedAt","outboundCapacity","restriction","reviewStatus","senderCount","wabaId"],"type":"object"},"WhatsappBusinessAccountAlert":{"additionalProperties":false,"properties":{"description":{"type":"string"},"entityId":{"type":"string"},"entityType":{"type":"string"},"observedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"required":["description","entityId","entityType","observedAt","severity","status","type"],"type":"object"},"WhatsappBusinessAccountRestriction":{"additionalProperties":false,"properties":{"observedAt":{"example":"2026-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"status":{"$ref":"#/components/schemas/WhatsappRestrictionStatus"}},"required":["observedAt","status"],"type":"object"},"WhatsappBusinessGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/WhatsappBusinessGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"WhatsappBusinessGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"WhatsappBusinessMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedWhatsappBusinessMessage"},{"$ref":"#/components/schemas/DispatchedWhatsappBusinessMessage"},{"$ref":"#/components/schemas/AcceptedWhatsappBusinessMessage"},{"$ref":"#/components/schemas/DeliveredWhatsappBusinessMessage"},{"$ref":"#/components/schemas/FailedWhatsappBusinessMessage"}]},"WhatsappBusinessMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"},{"$ref":"#/components/schemas/WhatsappBusinessGroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"WhatsappBusinessMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessPlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessPlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessPlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp_business","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp_business","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp_business","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp_business","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/WhatsappBusinessSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"WhatsappBusinessSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"WhatsappBusinessSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/WhatsappBusinessSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"WhatsappBusinessSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"whatsapp_business","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessSpaceUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappBusinessSpaceUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp_business.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappBusinessSpaceUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"additionalProperties":{},"properties":{"type":{"const":"space.participants.update","type":"string"}},"required":["type"],"type":"object"},"platform":{"const":"whatsapp_business","type":"string"},"status":{"enum":["received","delivered"],"type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappBusinessUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/WhatsappBusinessUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"WhatsappBusinessUserDetails":{"additionalProperties":false,"properties":{"managedBy":{"$ref":"#/components/schemas/ManagerId"},"phoneNumber":{"pattern":"^\\+[1-9][0-9]{1,14}$","type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"}},"type":"object"},"WhatsappBusinessUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/WhatsappBusinessUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"whatsapp_business","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"WhatsappCodeExchangeFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_CODE_EXCHANGE_FAILED","remediation":{"action":"Run WhatsApp signup again."},"status":422,"title":"WhatsApp Code Exchange Failed","type":"https://photon.codes/docs/problems/whatsapp-code-exchange-failed"},"properties":{"code":{"const":"WHATSAPP_CODE_EXCHANGE_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Code Exchange Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-code-exchange-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappCosmosLineNotSupportedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_COSMOS_LINE_NOT_SUPPORTED","status":422,"title":"WhatsApp Cosmos Line Not Supported","type":"https://photon.codes/docs/problems/whatsapp-cosmos-line-not-supported"},"properties":{"code":{"const":"WHATSAPP_COSMOS_LINE_NOT_SUPPORTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Cosmos Line Not Supported","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-cosmos-line-not-supported","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappDisplayNameConflictProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_DISPLAY_NAME_CONFLICT","remediation":{"action":"Use the display name the number already has on the business account."},"status":409,"title":"WhatsApp Display Name Conflict","type":"https://photon.codes/docs/problems/whatsapp-display-name-conflict"},"properties":{"code":{"const":"WHATSAPP_DISPLAY_NAME_CONFLICT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Display Name Conflict","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-display-name-conflict","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappDisplayNameUnavailableProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_DISPLAY_NAME_UNAVAILABLE","status":422,"title":"WhatsApp Display Name Unavailable","type":"https://photon.codes/docs/problems/whatsapp-display-name-unavailable"},"properties":{"code":{"const":"WHATSAPP_DISPLAY_NAME_UNAVAILABLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Display Name Unavailable","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-display-name-unavailable","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappEmbeddedSignupPhoneLookupFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_LOOKUP_FAILED","remediation":{"action":"Run WhatsApp signup again."},"status":502,"title":"WhatsApp Embedded Signup Phone Lookup Failed","type":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-lookup-failed"},"properties":{"code":{"const":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_LOOKUP_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"WhatsApp Embedded Signup Phone Lookup Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-lookup-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappEmbeddedSignupPhoneNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_FOUND","remediation":{"action":"Run WhatsApp signup again and select a number on the business account it authorizes."},"status":404,"title":"WhatsApp Embedded Signup Phone Not Found","type":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-not-found"},"properties":{"code":{"const":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"WhatsApp Embedded Signup Phone Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-not-found","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappEmbeddedSignupPhoneNotVerifiedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_VERIFIED","remediation":{"action":"Run WhatsApp signup again and finish verifying the number."},"status":409,"title":"WhatsApp Embedded Signup Phone Not Verified","type":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-not-verified"},"properties":{"code":{"const":"WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_VERIFIED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Embedded Signup Phone Not Verified","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-embedded-signup-phone-not-verified","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappEmbeddedSignupWabaNotAuthorizedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_EMBEDDED_SIGNUP_WABA_NOT_AUTHORIZED","remediation":{"action":"Run WhatsApp signup again and select the business account it authorizes."},"status":403,"title":"WhatsApp Embedded Signup WABA Not Authorized","type":"https://photon.codes/docs/problems/whatsapp-embedded-signup-waba-not-authorized"},"properties":{"code":{"const":"WHATSAPP_EMBEDDED_SIGNUP_WABA_NOT_AUTHORIZED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":403,"type":"number"},"title":{"const":"WhatsApp Embedded Signup WABA Not Authorized","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-embedded-signup-waba-not-authorized","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappGroupContent":{"additionalProperties":false,"properties":{"metadata":{"$ref":"#/components/schemas/ContentMetadata"},"parts":{"items":{"$ref":"#/components/schemas/WhatsappGroupContentPart"},"minItems":1,"type":"array"},"type":{"const":"group","type":"string"}},"required":["type","parts"],"type":"object"},"WhatsappGroupContentPart":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"WhatsappMessage":{"oneOf":[{"$ref":"#/components/schemas/ReceivedWhatsappMessage"},{"$ref":"#/components/schemas/DispatchedWhatsappMessage"},{"$ref":"#/components/schemas/AcceptedWhatsappMessage"},{"$ref":"#/components/schemas/DeliveredWhatsappMessage"},{"$ref":"#/components/schemas/FailedWhatsappMessage"}]},"WhatsappMessageAcceptedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappMessageAcceptedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.accepted","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappMessageAcceptedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp","type":"string"},"status":{"const":"accepted","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappMessageContent":{"anyOf":[{"$ref":"#/components/schemas/TextContent"},{"$ref":"#/components/schemas/AttachmentContent"},{"$ref":"#/components/schemas/VoiceContent"},{"$ref":"#/components/schemas/ReactionContent"},{"$ref":"#/components/schemas/MessageDeleteContent"},{"$ref":"#/components/schemas/MessageReadContent"},{"$ref":"#/components/schemas/SpaceParticipantsUpdateContent"},{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},{"$ref":"#/components/schemas/SpaceBackgroundUpdateContent"},{"$ref":"#/components/schemas/SpaceProfileShareContent"},{"$ref":"#/components/schemas/PollContent"},{"$ref":"#/components/schemas/PollVoteContent"},{"$ref":"#/components/schemas/PollUpdateContent"},{"$ref":"#/components/schemas/WhatsappGroupContent"},{"$ref":"#/components/schemas/MessageUpdateContent"}],"x-photon-extension":{"discriminator":"type","fallback":"#/$defs/UnknownContent","reserved":["text","attachment","voice","reaction","message.delete","message.read","space.participants.update","space.typing.update","space.background.update","space.profile.share","poll","poll.vote","poll.update","message.update","group","message"]}},"WhatsappMessageDeliveredEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappMessageDeliveredEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.delivered","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappMessageDeliveredEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp","type":"string"},"status":{"const":"delivered","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappMessageDispatchedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappMessageDispatchedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.dispatched","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappMessageDispatchedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp","type":"string"},"status":{"const":"dispatched","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappMessageFailedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappMessageFailedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.failed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappMessageFailedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp","type":"string"},"status":{"const":"failed","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappMessageReceivedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappMessageReceivedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"message.received","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappMessageReceivedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"platform":{"const":"whatsapp","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappModeDedicatedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_MODE_DEDICATED","status":409,"title":"WhatsApp Mode Is Dedicated","type":"https://photon.codes/docs/problems/whatsapp-mode-dedicated"},"properties":{"code":{"const":"WHATSAPP_MODE_DEDICATED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Mode Is Dedicated","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-mode-dedicated","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappNumberAddRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_NUMBER_ADD_REFUSED","status":422,"title":"WhatsApp Number Add Refused","type":"https://photon.codes/docs/problems/whatsapp-number-add-refused"},"properties":{"code":{"const":"WHATSAPP_NUMBER_ADD_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Number Add Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-number-add-refused","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappNumberLookupFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_NUMBER_LOOKUP_FAILED","remediation":{"action":"Request the sender again."},"status":502,"title":"WhatsApp Number Lookup Failed","type":"https://photon.codes/docs/problems/whatsapp-number-lookup-failed"},"properties":{"code":{"const":"WHATSAPP_NUMBER_LOOKUP_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"WhatsApp Number Lookup Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-number-lookup-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappOutboundCapacity":{"enum":["50","250","1000","2000","10000","100000","UNLIMITED","UNTIERED","UNKNOWN"],"type":"string"},"WhatsappPhoneNumberOwnership":{"enum":["photon","meta"],"type":"string"},"WhatsappPlatformConnectionStatusChangedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappPlatformConnectionStatusChangedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"platform.connection.status.changed","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappPlatformConnectionStatusChangedEventData":{"additionalProperties":false,"properties":{"object":{"anyOf":[{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp","type":"string"},"previousStatus":{"enum":["connected","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connecting","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp","type":"string"},"previousStatus":{"enum":["connecting","disconnected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"connected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp","type":"string"},"previousStatus":{"enum":["connecting","connected","action_required"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"disconnected","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"},{"additionalProperties":false,"properties":{"platform":{"const":"whatsapp","type":"string"},"previousStatus":{"enum":["connecting","connected","disconnected"],"type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"status":{"const":"action_required","type":"string"}},"required":["platform","resourceId","previousStatus","status"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappProjectWabaAlreadyConnectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_PROJECT_WABA_ALREADY_CONNECTED","remediation":{"action":"Disconnect the project's WhatsApp Business account before connecting another."},"status":409,"title":"WhatsApp Project WABA Already Connected","type":"https://photon.codes/docs/problems/whatsapp-project-waba-already-connected"},"properties":{"code":{"const":"WHATSAPP_PROJECT_WABA_ALREADY_CONNECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Project WABA Already Connected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-project-waba-already-connected","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappRegistrationRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_REGISTRATION_REFUSED","status":422,"title":"WhatsApp Registration Refused","type":"https://photon.codes/docs/problems/whatsapp-registration-refused"},"properties":{"code":{"const":"WHATSAPP_REGISTRATION_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Registration Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-registration-refused","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappRestrictionStatus":{"enum":["FLAGGED","DISABLED","REINSTATED","UNKNOWN"],"type":"string"},"WhatsappReviewStatus":{"enum":["PENDING","APPROVED","REJECTED","UNKNOWN"],"type":"string"},"WhatsappSenderConnectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_SENDER_CONNECTED","status":409,"title":"WhatsApp Sender Connected","type":"https://photon.codes/docs/problems/whatsapp-sender-connected"},"properties":{"code":{"const":"WHATSAPP_SENDER_CONNECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Sender Connected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-sender-connected","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappSenderProvisioningProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_SENDER_PROVISIONING","status":409,"title":"WhatsApp Sender Provisioning","type":"https://photon.codes/docs/problems/whatsapp-sender-provisioning"},"properties":{"code":{"const":"WHATSAPP_SENDER_PROVISIONING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp Sender Provisioning","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-sender-provisioning","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappSenderReleaseFailedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_SENDER_RELEASE_FAILED","remediation":{"action":"The number is still connected. Contact support@photon.codes."},"status":502,"title":"WhatsApp Sender Release Failed","type":"https://photon.codes/docs/problems/whatsapp-sender-release-failed"},"properties":{"code":{"const":"WHATSAPP_SENDER_RELEASE_FAILED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"WhatsApp Sender Release Failed","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-sender-release-failed","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappSignupExpiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_SIGNUP_EXPIRED","remediation":{"action":"Run WhatsApp signup again."},"status":410,"title":"WhatsApp Signup Expired","type":"https://photon.codes/docs/problems/whatsapp-signup-expired"},"properties":{"code":{"const":"WHATSAPP_SIGNUP_EXPIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":410,"type":"number"},"title":{"const":"WhatsApp Signup Expired","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-signup-expired","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappSpace":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/WhatsappSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","kind","participantIds","details","metadata","createdAt","updatedAt"],"type":"object"},"WhatsappSpaceDetails":{"additionalProperties":false,"properties":{},"type":"object"},"WhatsappSpaceSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/WhatsappSpaceDetails"},"id":{"$ref":"#/components/schemas/SpaceId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"participantIds":{"items":{"$ref":"#/components/schemas/UserId"},"type":"array","uniqueItems":true},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","kind","participantIds","details","metadata"],"type":"object"},"WhatsappSpaceTypingUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappSpaceTypingUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.typing.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappSpaceTypingUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"$ref":"#/components/schemas/SpaceTypingUpdateContent"},"parentMessageId":{"not":{}},"platform":{"const":"whatsapp","type":"string"},"status":{"const":"received","type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappSpaceUpdatedEvent":{"additionalProperties":false,"properties":{"apiVersion":{"const":"2026-07-01","type":"string"},"app_installation_id":{"$ref":"#/components/schemas/AppInstallationId","description":"Public App installation ID. Present only on App webhook deliveries."},"data":{"$ref":"#/components/schemas/WhatsappSpaceUpdatedEventData"},"id":{"$ref":"#/components/schemas/EventId"},"source":{"const":"whatsapp.photon","type":"string"},"timestamp":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"type":{"const":"space.updated","type":"string"}},"required":["id","type","apiVersion","source","timestamp","data"],"type":"object"},"WhatsappSpaceUpdatedEventData":{"additionalProperties":false,"properties":{"object":{"allOf":[{"$ref":"#/components/schemas/Message"},{"additionalProperties":{},"properties":{"content":{"additionalProperties":{},"properties":{"type":{"const":"space.participants.update","type":"string"}},"required":["type"],"type":"object"},"platform":{"const":"whatsapp","type":"string"},"status":{"enum":["received","delivered"],"type":"string"}},"required":["platform","status","content"],"type":"object"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId","description":"Public organization owning the event's project. May be absent on older events."},"projectId":{"$ref":"#/components/schemas/ProjectId"}},"required":["projectId","object"],"type":"object"},"WhatsappSubscriptionRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_SUBSCRIPTION_REFUSED","remediation":{"action":"Run WhatsApp signup again."},"status":502,"title":"WhatsApp Subscription Refused","type":"https://photon.codes/docs/problems/whatsapp-subscription-refused"},"properties":{"code":{"const":"WHATSAPP_SUBSCRIPTION_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":502,"type":"number"},"title":{"const":"WhatsApp Subscription Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-subscription-refused","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappUser":{"additionalProperties":false,"properties":{"createdAt":{"description":"When Photon first persisted this resource.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"$ref":"#/components/schemas/WhatsappUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"description":"When Photon last persisted a change to this resource's public state.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","projectId","platform","handle","kind","details","metadata","createdAt","updatedAt"],"type":"object"},"WhatsappUserDetails":{"additionalProperties":false,"properties":{"managedBy":{"$ref":"#/components/schemas/ManagerId"},"phoneNumber":{"pattern":"^\\+[1-9][0-9]{1,14}$","type":"string"},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"type":{"$ref":"#/components/schemas/UserLineType"}},"type":"object"},"WhatsappUserSnapshot":{"additionalProperties":false,"properties":{"createdAt":{"not":{}},"details":{"$ref":"#/components/schemas/WhatsappUserDetails"},"handle":{"minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/UserId"},"kind":{"minLength":1,"type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"platform":{"const":"whatsapp","type":"string"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"updatedAt":{"not":{}}},"required":["id","projectId","platform","handle","kind","details","metadata"],"type":"object"},"WhatsappVerificationCodeNotFoundProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VERIFICATION_CODE_NOT_FOUND","status":404,"title":"WhatsApp Verification Code Not Found","type":"https://photon.codes/docs/problems/whatsapp-verification-code-not-found"},"properties":{"code":{"const":"WHATSAPP_VERIFICATION_CODE_NOT_FOUND","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"WhatsApp Verification Code Not Found","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-verification-code-not-found","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappVerificationRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VERIFICATION_REFUSED","status":422,"title":"WhatsApp Verification Refused","type":"https://photon.codes/docs/problems/whatsapp-verification-refused"},"properties":{"code":{"const":"WHATSAPP_VERIFICATION_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Verification Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-verification-refused","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappVerificationRequestRefusedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VERIFICATION_REQUEST_REFUSED","status":422,"title":"WhatsApp Verification Request Refused","type":"https://photon.codes/docs/problems/whatsapp-verification-request-refused"},"properties":{"code":{"const":"WHATSAPP_VERIFICATION_REQUEST_REFUSED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Verification Request Refused","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-verification-request-refused","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappVerificationTimedOutProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VERIFICATION_TIMED_OUT","remediation":{"action":"Request the sender again."},"status":504,"title":"WhatsApp Verification Timed Out","type":"https://photon.codes/docs/problems/whatsapp-verification-timed-out"},"properties":{"code":{"const":"WHATSAPP_VERIFICATION_TIMED_OUT","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":504,"type":"number"},"title":{"const":"WhatsApp Verification Timed Out","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-verification-timed-out","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappVerificationWindowExpiredProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VERIFICATION_WINDOW_EXPIRED","status":422,"title":"WhatsApp Verification Window Expired","type":"https://photon.codes/docs/problems/whatsapp-verification-window-expired"},"properties":{"code":{"const":"WHATSAPP_VERIFICATION_WINDOW_EXPIRED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":422,"type":"number"},"title":{"const":"WhatsApp Verification Window Expired","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-verification-window-expired","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappVoipSourceActivatingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VOIP_SOURCE_ACTIVATING","remediation":{"action":"Read the source resource and retry when detail.activationState is active."},"status":409,"title":"WhatsApp VoIP Source Activating","type":"https://photon.codes/docs/problems/whatsapp-voip-source-activating"},"properties":{"code":{"const":"WHATSAPP_VOIP_SOURCE_ACTIVATING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp VoIP Source Activating","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-voip-source-activating","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappVoipSourceNotEligibleProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VOIP_SOURCE_NOT_ELIGIBLE","status":404,"title":"WhatsApp VoIP Source Not Eligible","type":"https://photon.codes/docs/problems/whatsapp-voip-source-not-eligible"},"properties":{"code":{"const":"WHATSAPP_VOIP_SOURCE_NOT_ELIGIBLE","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"WhatsApp VoIP Source Not Eligible","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-voip-source-not-eligible","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappVoipSourceReleasingProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_VOIP_SOURCE_RELEASING","status":409,"title":"WhatsApp VoIP Source Releasing","type":"https://photon.codes/docs/problems/whatsapp-voip-source-releasing"},"properties":{"code":{"const":"WHATSAPP_VOIP_SOURCE_RELEASING","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp VoIP Source Releasing","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-voip-source-releasing","type":"string"}},"required":["code","status","title","type"],"type":"object"},"WhatsappWabaAlreadyConnectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_WABA_ALREADY_CONNECTED","remediation":{"action":"Disconnect the business account from its other project first."},"status":409,"title":"WhatsApp WABA Already Connected","type":"https://photon.codes/docs/problems/whatsapp-waba-already-connected"},"properties":{"code":{"const":"WHATSAPP_WABA_ALREADY_CONNECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"$ref":"#/components/schemas/ProblemRemediation"},"requestId":{"minLength":1,"type":"string"},"status":{"const":409,"type":"number"},"title":{"const":"WhatsApp WABA Already Connected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-waba-already-connected","type":"string"}},"required":["code","remediation","status","title","type"],"type":"object"},"WhatsappWabaNotConnectedProblem":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"example":{"code":"WHATSAPP_WABA_NOT_CONNECTED","status":404,"title":"WhatsApp Business Account Not Connected","type":"https://photon.codes/docs/problems/whatsapp-waba-not-connected"},"properties":{"code":{"const":"WHATSAPP_WABA_NOT_CONNECTED","type":"string"},"detail":{"minLength":1,"type":"string"},"instance":{"minLength":1,"type":"string"},"remediation":{"not":{}},"requestId":{"minLength":1,"type":"string"},"status":{"const":404,"type":"number"},"title":{"const":"WhatsApp Business Account Not Connected","type":"string"},"type":{"const":"https://photon.codes/docs/problems/whatsapp-waba-not-connected","type":"string"}},"required":["code","status","title","type"],"type":"object"}},"securitySchemes":{"accountServiceKey":{"description":"Account Service Key, prefixed with `pho_ask_`, sent as `Authorization: Bearer <key>`. Acts on behalf of its owning account, subject to the permissions and credential restrictions of each operation. Account access tokens and OAuth grants also use the Bearer header. In organizations that require SSO, Account Service Keys are not accepted for managing the organization's SSO settings, deleting the organization, or checking whether it can be deleted.","scheme":"bearer","type":"http"},"oauth2":{"description":"OAuth grant issued by the Photon authorization server. The token is a bearer JWT whose consented scope is intersected with the permissions the route grants; an empty intersection is `403 insufficient_scope`.","flows":{"authorizationCode":{"authorizationUrl":"https://auth.photon.codes/oauth2/authorize","scopes":{"account:create_project":"Create a project owned by the account.","account:read":"View account profile.","account:read_projects":"List projects associated with the account; does not grant access to project contents.","account:write":"Update account name and profile.","billing:read":"View invoices, usage, payment status.","calls:read":"Read project call data and lifecycle events via supported APIs or approved subscriptions; excludes stored Events queries.","events:read":"Query stored Events and discover their SQL schema within a project.","messages:read":"Read project messages, delivery status, participant changes and typing activity via supported APIs or approved subscriptions.","organization:create_project":"Create a project in the organization.","organization:read":"View organization name and avatar.","organization:read_projects":"List projects in the organization.","platforms:read":"View project platform configuration.","platforms:write":"Change project platform configuration.","project:delete":"Permanently delete the project.","project:read":"View non-sensitive project settings.","project:read_usage":"View project usage and costs.","project:write":"Change agent profiles, webhook settings, and other project configuration.","ten_dlc:read":"View organization 10DLC Brand and Campaign registration records.","ten_dlc:write":"Register and update organization 10DLC Brands and Campaigns, including OTP operations."},"tokenUrl":"https://auth.photon.codes/oauth2/token"}},"type":"oauth2"},"projectApiKey":{"description":"Project API key, `pho_sk_` prefixed, sent as `Authorization: Bearer <key>`. Bound to one project, so it is accepted only under `/v1/projects/{projectId}` and refused everywhere else.","scheme":"bearer","type":"http"},"serviceIdentityBearer":{"description":"Organization Service Identity API key or M2M access token, sent as `Authorization: Bearer <credential>`. Restricted to its organization and explicitly granted business permissions. It does not authorize human organization governance or Photon credential management. Never send an M2M client secret to a business endpoint.","scheme":"bearer","type":"http"},"sessionCookie":{"description":"Dashboard browser session, sent automatically by the browser. Only the dashboard origin runs the session adapter that exchanges it for an access token, so this is declared for documents served there and is not accepted on the public API origin. No requirement preset lists it.","in":"cookie","name":"wos-session","type":"apiKey"}}},"info":{"title":"Photon API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/v1/account":{"delete":{"description":"Deletes the authenticated account and returns its account tombstone. The operation is rejected while the account still owns organizations; transfer or close those organizations before retrying. This endpoint acts on the caller's account and does not accept another account's identifier.","operationId":"deleteAccount","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The deleted account tombstone.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidApiVersionProblem"}}},"description":"INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteAccountForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountOwnsOrganizationsProblem"}}},"description":"ACCOUNT_OWNS_ORGANIZATIONS: Account Owns Organizations","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetiredApiVersionProblem"}}},"description":"RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteAccountInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteAccountGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Delete account","tags":["Account"],"x-required-permissions":["security:write"]},"get":{"description":"Returns the profile of the authenticated account. The account is selected from the credential rather than a request parameter. A missing or deleted account is reported as an error instead of an empty profile.","operationId":"getAccount","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The authenticated account.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidApiVersionProblem"}}},"description":"INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAccountForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAccountGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAccountInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAccountGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["account:read"]}],"summary":"Get account","tags":["Account"],"x-required-permissions":["account:read"]},"patch":{"description":"Updates the supplied firstName and lastName fields on the authenticated account and returns the updated profile. Only the documented profile fields can be changed through this endpoint; profile-picture uploads and phone-number verification use their dedicated operations. Supply the required Idempotency-Key header.","operationId":"updateAccount","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}},{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The updated account.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; HTTP_ERROR: Request Failed; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAccountGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["account:write"]}],"summary":"Update account","tags":["Account"],"x-required-permissions":["account:write"]}},"/v1/account/oauth/authorized-applications":{"get":{"description":"Lists the OAuth applications authorized by the authenticated user.","operationId":"listAuthorizedApplications","parameters":[{"description":"Pagination cursor from listMetadata.after for the next page. Cannot be combined with before.","in":"query","name":"after","schema":{"maxLength":128,"minLength":1,"type":"string"}},{"description":"Pagination cursor from listMetadata.before for the previous page. Cannot be combined with after.","in":"query","name":"before","schema":{"maxLength":128,"minLength":1,"type":"string"}},{"description":"Maximum number of authorized applications to return, from 1 to 100. Omit to use the default page size.","in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Result ordering: normal, descending (desc), or ascending (asc). Omit to use the default order.","in":"query","name":"order","schema":{"$ref":"#/components/schemas/ListAuthorizedApplicationsOrder"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAuthorizedApplicationsResponse"}}},"description":"OAuth applications authorized by the authenticated user.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAuthorizedApplicationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAuthorizedApplicationsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAuthorizedApplicationsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List connected applications","tags":["Connected Applications"],"x-photon-mcp":{"enabled":false}}},"/v1/account/oauth/authorized-applications/{applicationId}":{"delete":{"description":"Revokes the authenticated user's grant for one OAuth application.","operationId":"revokeAuthorizedApplication","parameters":[{"description":"Authorized application's id, prefixed with connect_app_. Use application.id from the list response, not its clientId or authorizationId.","in":"path","name":"applicationId","required":true,"schema":{"maxLength":128,"pattern":"^connect_app_[A-Za-z0-9]+$","type":"string"}}],"responses":{"204":{"description":"OAuth application grant revoked.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAuthorizedApplicationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAuthorizedApplicationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAuthorizedApplicationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Revoke connected application","tags":["Connected Applications"],"x-photon-mcp":{"enabled":false}}},"/v1/account/profile-picture":{"delete":{"description":"Removes the authenticated account's custom profile picture and returns the account using its default picture. This operation does not upload a replacement; use the upload-and-commit operations when setting a new custom picture. Supply the required Idempotency-Key header.","operationId":"resetAccountProfilePicture","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}},{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The Account reset to its default profile picture.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAccountProfilePictureGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["account:write"]}],"summary":"Remove profile picture","tags":["Account"],"x-required-permissions":["account:write"]},"put":{"description":"Commits a profile picture previously uploaded through createAccountProfilePictureUpload. Call this only after the direct multipart upload succeeds, using the uploadId from the same upload session and a stable Idempotency-Key. The service validates the temporary object's ownership, size, content type, image bytes, dimensions, encryption, and age before changing the Account.","operationId":"commitAccountProfilePicture","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}},{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"The Account with its committed profile picture.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; HTTP_ERROR: Request Failed; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAccountProfilePictureGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["account:write"]}],"summary":"Commit profile picture","tags":["Account"],"x-required-permissions":["account:write"]}},"/v1/account/profile-picture/uploads":{"post":{"description":"Creates a ten-minute, Account-bound presigned S3 POST for a JPEG, PNG, or WebP profile picture up to 5 MiB. Copy every returned formFields entry into a multipart/form-data request to uploadUrl, append the local file as the final form part, and upload it directly without sending Photon credentials. After the upload succeeds, call commitAccountProfilePicture with the returned uploadId. Do not cache or log the upload URL or form fields.","operationId":"createAccountProfilePictureUpload","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilePictureUploadRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilePictureUpload"}}},"description":"A short-lived, Account-bound presigned S3 POST.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountProfilePictureUploadBadRequestProblem"}}},"description":"HTTP_ERROR: Request Failed; INVALID_ARGUMENT: Invalid Argument; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountProfilePictureUploadForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountProfilePictureUploadGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountProfilePictureUploadInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountProfilePictureUploadGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["account:write"]}],"summary":"Create profile picture upload","tags":["Account"],"x-required-permissions":["account:write"]}},"/v1/account/security/mfa":{"get":{"description":"Requires a first-party interactive Account credential. Account Service Keys and third-party OAuth grants are not accepted.","operationId":"getMfaStatus","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMfaStatusResponse"}}},"description":"Non-secret TOTP factor status for the authenticated Account.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMfaStatusForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMfaStatusInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMfaStatusGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Get MFA status","tags":["Account MFA"],"x-photon-mcp":{"enabled":false}}},"/v1/account/security/mfa/totp":{"post":{"description":"Requires a first-party interactive Account credential authenticated no more than 300 seconds ago. Returns one-time secret material.","operationId":"beginTotpEnrollment","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeginTotpEnrollmentRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeginTotpEnrollmentResponse"}}},"description":"One-time TOTP setup material and enrollment continuation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginTotpEnrollmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MfaAlreadyEnrolledProblem"}}},"description":"MFA_ALREADY_ENROLLED: MFA Already Enrolled","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginTotpEnrollmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginTotpEnrollmentGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Begin TOTP enrollment","tags":["Account MFA"],"x-photon-mcp":{"enabled":false}}},"/v1/account/security/mfa/totp/verify":{"post":{"description":"Requires a first-party interactive Account credential authenticated no more than 300 seconds ago.","operationId":"verifyTotpEnrollment","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentResponse"}}},"description":"The TOTP factor was verified for the authenticated Account.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MfaEnrollmentInvalidProblem"}}},"description":"MFA_ENROLLMENT_INVALID: MFA Enrollment Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MfaEnrollmentExpiredProblem"}}},"description":"MFA_ENROLLMENT_EXPIRED: MFA Enrollment Expired","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; MFA_VERIFICATION_FAILED: MFA Verification Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTotpEnrollmentGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Verify TOTP enrollment","tags":["Account MFA"],"x-photon-mcp":{"enabled":false}}},"/v1/account/security/mfa/totp/{factorId}":{"delete":{"description":"Requires a first-party interactive Account credential authenticated no more than 300 seconds ago. Ownership is verified before deletion.","operationId":"deleteTotpFactor","parameters":[{"description":"Identifier of a TOTP authentication factor, prefixed with auth_factor_.","in":"path","name":"factorId","required":true,"schema":{"maxLength":128,"pattern":"^auth_factor_[A-Za-z0-9]+$","type":"string"}}],"responses":{"204":{"description":"TOTP factor deleted.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTotpFactorForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MfaFactorNotFoundProblem"}}},"description":"MFA_FACTOR_NOT_FOUND: MFA Factor Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTotpFactorInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTotpFactorGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Delete a TOTP factor","tags":["Account MFA"],"x-photon-mcp":{"enabled":false}}},"/v1/account/service-keys":{"get":{"description":"Returns metadata for the authenticated account's unrevoked service keys, including expired keys, ordered newest first. Secret values are not returned; a key's credential is disclosed only when that key is created.","operationId":"listAccountServiceKeys","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAccountServiceKeysResponse"}}},"description":"Unrevoked Account Service Key metadata, including expired keys, newest first.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidApiVersionProblem"}}},"description":"INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAccountServiceKeysForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAccountServiceKeysGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAccountServiceKeysInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAccountServiceKeysGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List Account Service Keys","tags":["Account Service Keys"],"x-required-permissions":["security:read"]},"post":{"description":"Creates a service key for the authenticated account with the supplied name and optional expiresAt. Returns key metadata and a one-time credential; store the credential securely because it cannot be retrieved through the listing endpoint. These credentials act as the account and must not be distributed as project-scoped keys. Supply the required Idempotency-Key header.","operationId":"createAccountServiceKey","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}},{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyResponse"}}},"description":"The created Account Service Key and its one-time credential.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; HTTP_ERROR: Request Failed; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountServiceKeyLimitReachedProblem"}}},"description":"ACCOUNT_SERVICE_KEY_LIMIT_REACHED: Account Service Key Limit Reached","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAccountServiceKeyGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create Account Service Key","tags":["Account Service Keys"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["security:write"]}},"/v1/account/service-keys/{serviceKeyId}":{"delete":{"description":"Revokes the account-owned service key identified by serviceKeyId and returns its revoked metadata. Repeating the revocation is stable. Revocation changes the credential's validity; it does not create a replacement key. Supply the required Idempotency-Key header.","operationId":"revokeAccountServiceKey","parameters":[{"description":"Selects the API contract date. Without it, the request is served as 2026-07-01.","in":"header","name":"Photon-Version","required":false,"schema":{"$ref":"#/components/schemas/PhotonVersion"}},{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"serviceKeyId","required":true,"schema":{"pattern":"^pho_ask_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyResponse"}}},"description":"The revoked key metadata. Repeated revocation is stable.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Photon-Version":{"description":"The selected API contract date, also returned on errors after selection.","schema":{"enum":["2026-07-01"],"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; INVALID_API_VERSION: Invalid API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found; ACCOUNT_SERVICE_KEY_NOT_FOUND: Account Service Key Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyGoneProblem"}}},"description":"ACCOUNT_DELETED: Account Deleted; RETIRED_API_VERSION: Retired API Version","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeAccountServiceKeyGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Revoke Account Service Key","tags":["Account Service Keys"],"x-required-permissions":["security:write"]}},"/v1/auth/device/code":{"post":{"description":"Starts the device authorization flow for a CLI or another device without a browser. Show the verification URL and user code, then poll the token endpoint at the returned interval. No request fields are required; any supplied body is ignored.","operationId":"deviceAuthorize","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceAuthorizeResponse"}}},"description":"Verification details for the RFC 8628 device flow. The optional JSON or form body is ignored; the authorization client is selected by the server.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"description":"The authorization request was rejected. OAuth errors use error and error_description fields.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Start device authorization","tags":["Device Authorization"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/device/token":{"post":{"description":"Exchanges an authorized device code or a refresh token for an access token and rotating refresh token. Accepts JSON and form-encoded bodies. While polling, wait at least interval seconds and increase the interval on slow_down. Store the new refresh token after every successful grant.","operationId":"deviceToken","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenRequest"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/DeviceTokenRequest"}}},"description":"Exchange a device code or refresh token. Supply the matching grant_type and credential using JSON or form encoding.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenResponse"}}},"description":"Token pair (snake_case OAuth wire format). Body (form-encoded or JSON): grant_type=urn:ietf:params:oauth:grant-type:device_code with device_code, or grant_type=refresh_token with refresh_token. Refresh tokens rotate on every grant — always store the new one.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenBadRequestResponse"}}},"description":"authorization_pending, slow_down, access_denied, expired_token, invalid_grant, invalid_request, or unsupported_grant_type. Errors use the OAuth 2.0 format ({error, error_description?}), not problem+json. A 5xx problem+json response is transient; keep polling.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"description":"Relayed slow_down; back off the polling interval.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"description":"server_error: the login could not be completed; retry the login from the start.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Exchange device code or refresh token","tags":["Device Authorization"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/login":{"get":{"description":"Starts browser sign-in by redirecting to the hosted authorization page. Stores the optional returnTo destination in a temporary login-state cookie; after successful sign-in, the browser returns there or to /.","operationId":"login","parameters":[{"description":"Destination after authentication or local logout: a path starting with / or an absolute URL on an allowed origin. Empty values are treated as omitted; the local fallback is /. External logout destinations must also be registered as sign-out redirects.","in":"query","name":"returnTo","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to the WorkOS authorization URL.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Hosted authorization URL to open in the browser.","schema":{"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Set-Cookie":{"description":"Temporary HttpOnly login-state cookie used to validate the callback and restore returnTo.","schema":{"type":"string"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"description":"The returnTo is not a relative path or an allowlisted origin.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Start Login Flow","tags":["Authentication"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/login/enrollment":{"post":{"description":"Returns a sign-in URL without requiring an existing account: the company SSO connection when the target has a ready connection, otherwise ordinary account login. Supply one documented enrollment variant: organizationId with returnTo (optionally invitationToken), invitationToken with returnTo, or retryToken. Open the returned URL to continue authentication; receiving a URL does not complete sign-in. This is a browser flow: the request must come from an allowed Origin, and the retryToken variant also needs the retry cookie set by the failed sign-in, so send it with credentials.","operationId":"startEnterpriseLogin","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartEnterpriseLoginRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartEnterpriseLoginResponse"}}},"description":"Company SSO URL when the target has a ready connection, otherwise the ordinary Account login URL. The response never says which, and access is decided only after authentication.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidReturnToProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Start company sign-in","tags":["Authentication"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/logout":{"get":{"description":"Clears the browser session cookie, ends the hosted session server-side, and redirects to returnTo or /. If WorkOS can't be reached, falls back to its hosted logout page, which ends the session and returns the browser to returnTo. Invalid returnTo values are rejected before the cookie is cleared.","operationId":"logout","parameters":[{"description":"Destination after authentication or local logout: a path starting with / or an absolute URL on an allowed origin. Empty values are treated as omitted; the local fallback is /. External logout destinations must also be registered as sign-out redirects.","in":"query","name":"returnTo","schema":{"type":"string"}}],"responses":{"302":{"description":"Clears the session cookie and redirects to returnTo or /, the AuthKit session already revoked. When the revocation fails, redirects to the WorkOS logout URL instead, which ends the session and returns the browser to an absolute returnTo (which must then also be a configured WorkOS Sign-out Redirect).","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"returnTo or /; the hosted logout URL when the session could not be revoked server-side.","schema":{"type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Set-Cookie":{"description":"Expires the browser's session cookie.","schema":{"type":"string"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"description":"The returnTo is not a relative path or an allowlisted origin; nothing is cleared.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"End Session","tags":["Authentication"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/oauth/scopes":{"get":{"description":"Lists the business permissions available to OAuth applications.","operationId":"listOauthScopes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOauthScopesResponse"}}},"description":"The configurable OAuth business permissions.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOauthScopesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"List OAuth scopes","tags":["OAuth Discovery"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/connection-status":{"get":{"description":"Requires current human organization membership. Synchronization status does not attest SSO configuration or completed authorization.","operationId":"getOrganizationConnectionStatus","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationConnectionStatus"}}},"description":"Organization mapping and current member synchronization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationConnectionStatusForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationConnectionNotFoundProblem"}}},"description":"ORGANIZATION_CONNECTION_NOT_FOUND: Organization Connection Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSyncUnavailableProblem"}}},"description":"ORGANIZATION_SYNC_UNAVAILABLE: Organization Synchronization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationConnectionStatusInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationConnectionStatusGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Get organization connection status","tags":["Organization Connections"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/connection-sync/retry":{"post":{"description":"Reconciles existing local intent. Takes no body and cannot change membership, roles or authentication policy.","operationId":"retryOrganizationConnectionSync","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationConnectionStatus"}}},"description":"Current synchronization state after requesting retry.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetryOrganizationConnectionSyncForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationConnectionNotFoundProblem"}}},"description":"ORGANIZATION_CONNECTION_NOT_FOUND: Organization Connection Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSyncUnavailableProblem"}}},"description":"ORGANIZATION_SYNC_UNAVAILABLE: Organization Synchronization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetryOrganizationConnectionSyncInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetryOrganizationConnectionSyncGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Retry organization connection sync","tags":["Organization Connections"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso":{"get":{"description":"Returns the selected organization’s SSO connection state, configuration version, and desired and effective policy settings. Read policySyncStatus alongside the enforcement fields to distinguish requested settings from synchronized settings.","operationId":"getOrganizationSsoConfiguration","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConfiguration"}}},"description":"Current connection and independent local policy state.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationSsoConfigurationBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationSsoConfigurationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationSsoConfigurationPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationSsoConfigurationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationSsoConfigurationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Get organization SSO configuration","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}},"patch":{"description":"Updates whether SSO can admit new members automatically using ssoJitEnabled and the current expectedVersion. Returns the organization’s SSO configuration and policy synchronization status; a successful response does not mean every desired policy setting has finished synchronizing.","operationId":"updateOrganizationSsoPolicy","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConfiguration"}}},"description":"Current connection and independent local policy state.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSsoPolicyGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Update organization SSO policy","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/admission":{"post":{"description":"Returns an SSO admission URL for an existing account and the selected organization. Supply returnTo for the continuation URL. Admission requires completing the returned authentication flow; creating the URL does not itself grant membership.","operationId":"beginOrganizationSsoAdmission","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRedirect"}}},"description":"Targeted SSO authorization URL.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationSsoAdmissionBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationSsoAdmissionPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationSsoAdmissionGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Begin organization SSO admission","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/authenticate":{"post":{"description":"Returns a URL to authenticate through the selected organization’s current SSO connection. Supply returnTo and open the returned URL to continue the flow. Receiving the URL does not establish an authenticated session.","operationId":"beginOrganizationAuthentication","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRedirect"}}},"description":"Targeted SSO authorization URL.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationAuthenticationBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationAuthenticationPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationAuthenticationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Sign in with organization SSO","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/closure-authenticate":{"post":{"description":"Returns an authentication URL for the current organization owner to inspect organization closure. Supply returnTo and complete the returned flow. This operation initiates authentication and does not close the organization.","operationId":"beginOrganizationClosureAuthentication","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRedirect"}}},"description":"Targeted SSO authorization URL.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationClosureAuthenticationBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationClosureAuthenticationPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginOrganizationClosureAuthenticationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Sign in to close organization","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/disable":{"post":{"description":"Deletes the provider connection, releases the SSO requirement once the connection is gone, then unbinds the chosen domains. Retry with the same Idempotency-Key to resume or await the same run.","operationId":"disableOrganizationSso","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConfiguration"}}},"description":"Current connection and independent local policy state.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableOrganizationSsoGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Disable organization SSO","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/invitation":{"post":{"description":"Returns an authentication URL for the organization SSO connection associated with the supplied invitation token. Supply token and returnTo. Complete the returned authentication flow; requesting its URL does not itself accept the invitation.","operationId":"beginInvitationSso","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeginInvitationSsoRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAuthenticationRedirect"}}},"description":"Invitation-bound SSO authorization URL.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginInvitationSsoBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginInvitationSsoPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BeginInvitationSsoGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Sign in with invitation SSO","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/portal":{"post":{"description":"Returns an organization setup portal URL. Supply returnTo and optionally intent, either sso or domain_verification; sso is the default. Open the returned URL to complete the selected setup flow.","operationId":"createOrganizationSsoPortalLink","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkResponse"}}},"description":"Short-lived provider setup link.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationSsoPortalLinkGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create organization setup portal link","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/organizations/{orgId}/sso/refresh":{"post":{"description":"Refreshes the selected organization’s SSO connection and returns its current connection state, configuration version and policy synchronization status. This operation takes no request body.","operationId":"refreshOrganizationSsoConnection","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"pattern":"^pho_org_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConfiguration"}}},"description":"Current connection and independent local policy state.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RefreshOrganizationSsoConnectionBadRequestProblem"}}},"description":"INVALID_RETURN_TO: Invalid Return To; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RefreshOrganizationSsoConnectionForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoNotFoundProblem"}}},"description":"ORGANIZATION_SSO_NOT_FOUND: Organization SSO Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationSsoConflictProblem"}}},"description":"ORGANIZATION_SSO_CONFLICT: Organization SSO Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RefreshOrganizationSsoConnectionPreconditionFailedProblem"}}},"description":"ORGANIZATION_SSO_PRECONDITION_FAILED: Organization SSO Precondition Failed; SSO_SUBSCRIPTION_REQUIRED: SSO Subscription Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RefreshOrganizationSsoConnectionInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RefreshOrganizationSsoConnectionGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Refresh organization SSO connection","tags":["Organization SSO"],"x-photon-mcp":{"enabled":false}}},"/v1/auth/status":{"get":{"description":"Returns the authentication service name and deployment environment. Does not require authentication.","operationId":"getStatus","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStatusResponse"}}},"description":"Service is up","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Service Status","tags":["Service"],"x-photon-mcp":{"enabled":false}}},"/v1/installation-requests":{"post":{"description":"Authenticates a registered app backend using a short-lived signed client assertion. Creates request metadata only; customer approval is still required.","operationId":"createAppInstallationRequest","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationRequestRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationRequestResponse"}}},"description":"Installation request metadata. No customer credential or access is issued.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationAssertionInvalidProblem"}}},"description":"APP_INSTALLATION_ASSERTION_INVALID: Invalid Installation Client Assertion","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationRequestConflictProblem"}}},"description":"APP_INSTALLATION_ASSERTION_REPLAYED: Installation Assertion Already Used; APP_INSTALLATION_CONFIG_CHANGED: Installation App Configuration Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationRequestGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Request app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false}}},"/v1/installation-requests/redeem":{"post":{"description":"The registered app backend authenticates with a signed client assertion and a single-use code. Plaintext is returned only once; retries return status and never create another credential.","operationId":"redeemAppInstallationDelivery","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedeemAppInstallationDeliveryRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedeemAppInstallationDeliveryResponse"}}},"description":"First successful delivery or metadata-only operation status.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationAssertionInvalidProblem"}}},"description":"APP_INSTALLATION_ASSERTION_INVALID: Invalid Installation Client Assertion","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationDeliveryUnavailableProblem"}}},"description":"APP_INSTALLATION_DELIVERY_UNAVAILABLE: Installation Delivery Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RedeemAppInstallationDeliveryGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[],"summary":"Redeem installation credential","tags":["App Installations"],"x-photon-mcp":{"enabled":false}}},"/v1/installation-requests/{requestId}/return":{"get":{"description":"Where to send someone who leaves an installation request without a delivery. `cancelled` answers the OAuth 2.0 `error=access_denied` callback; `already_installed` requires a member of an organization that has the app installed. Neither consumes the request.","operationId":"getAppInstallationReturn","parameters":[{"in":"path","name":"requestId","required":true,"schema":{"type":"string"}},{"in":"query","name":"outcome","required":true,"schema":{"enum":["cancelled","already_installed"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnResponse"}}},"description":"The app's registered callback carrying the outcome.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationReturnGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Return to the app that requested an installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["account:read_organizations"]}},"/v1/installations/current":{"get":{"description":"Use installation credentials to read current approved permissions, event subscription and project scope. No organization permission is required. All-project scope includes future projects; selected scope may be empty. This snapshot does not replace authorization on subsequent API calls. App assertions and webhook secrets are not installation credentials.","operationId":"getCurrentAppInstallation","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCurrentAppInstallationResponse"}}},"description":"Current approved installation; contains no secrets or pending App changes.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetCurrentAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}}},"security":[{"serviceIdentityBearer":[]}],"summary":"Read the credential's App installation","tags":["App installations"],"x-photon-mcp":{"enabled":false}}},"/v1/organizations":{"get":{"description":"Lists the active organizations the authenticated account belongs to, oldest first, in one unpaginated response; ownedOrganizationIds marks the ones it owns. Call it with account credentials acting as the account itself; OAuth grants and Service Identities are refused.","operationId":"listOrganizations","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationsResponse"}}},"description":"The account's accessible organizations.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List organizations","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["account:read_organizations"]},"post":{"description":"Creates an organization with the supplied name and makes the calling account its Owner; SSO and just-in-time provisioning start disabled. Billing is set up after the response, so the 201 body has no billingInitialization; read it from getOrganization or listOrganizations to follow the setup. Call it with account credentials acting as the account itself and supply the required Idempotency-Key header; an account that is closing gets 409.","operationId":"createOrganization","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationResponse"}}},"description":"The created organization. Its caller is the Owner; SSO and JIT start disabled.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountNotFoundProblem"}}},"description":"ACCOUNT_NOT_FOUND: Account Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountClosingProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create an organization","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["account:create_organization"]}},"/v1/organizations/current":{"get":{"description":"Reads the organization the credential is bound to: the organization an OAuth grant was consented for, or a Service Identity's own organization. Use it to discover which organization an integration acts for, and pass its organizationId to organization-scoped operations.","operationId":"getCurrentOrganization","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCurrentOrganizationResponse"}}},"description":"The credential's organization presentation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetCurrentOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetCurrentOrganizationConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetCurrentOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"serviceIdentityBearer":[]},{"oauth2":["organization:read"]}],"summary":"Read the credential's organization","tags":["Organizations"],"x-required-permissions":["organization:read"]}},"/v1/organizations/invitations/accept":{"post":{"description":"Accepts an invitation by its token and adds the signed-in account to the organization with the invited role. An existing member keeps their role, except a Viewer who joined through SSO just-in-time provisioning and whose role has never been changed, who takes the invited role; a removed member can rejoin only with an invitation created after the removal, else 409. The account's verified email must match the invited address, the invitation must be pending and unexpired, and its inviter must still be an Owner or Admin; in an organization that requires SSO it returns 403, because the invitee joins by signing in through that SSO instead. Call it with account credentials acting as the account itself and supply the required Idempotency-Key header.","operationId":"acceptOrganizationInvitation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationResponse"}}},"description":"The joined organization and current role. Existing managed roles are preserved.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptOrganizationInvitationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Accept an invitation to all organization projects","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["account:accept_organization_invitation"]}},"/v1/organizations/invitations/preview":{"post":{"description":"Returns what an invitation offers to the signed-in account that holds its token: the organization, role, expiry, member count and inviter with masked email addresses, whether the account's verified email matches the invitation, and whether SSO is required to accept it. Call it with account credentials acting as the account itself; it changes nothing. An unknown token returns 404, and an expired or revoked invitation, or one accepted by another account, returns 409.","operationId":"previewOrganizationInvitation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationInvitationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationInvitationResponse"}}},"description":"Masked target, role, organization and masked inviter for all organization projects.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationInvitationForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationInvitationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationInvitationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Preview an organization invitation after sign-in","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["account:read_organization_invitation"]}},"/v1/organizations/{organizationId}":{"delete":{"description":"Deletes the organization: it leaves normal access when the call returns 204, and Photon then releases its app installations, registrations and billing subscriptions in the background. It cannot be undone and needs no active projects, nothing owed, and the expectedVersion from checkOrganizationDeletion; a blocked or stale request returns 409. Only the Owner can call it, with account credentials (in an organization that requires SSO, a session signed in through SSO) and the required Idempotency-Key header.","operationId":"closeOrganization","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationRequest"}}},"required":true},"responses":{"204":{"description":"The organization has been removed from normal access.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; CLOSURE_BLOCKED: Organization Closure Blocked; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CloseOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Delete organization","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:delete"]},"get":{"description":"Returns the organization's name, avatar URL, version and billing setup progress. Any member can read it with account credentials, and a Service Identity granted organization:read or an OAuth grant with the organization:read scope can read the organization it is bound to. Send version as expectedVersion when renaming the organization or changing its avatar.","operationId":"getOrganization","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationResponse"}}},"description":"Current organization presentation. An unset avatar is null.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["organization:read"]}],"summary":"Read organization name and avatar","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"patch":{"description":"Renames the organization and returns it with its new version. Owners and Admins can call it with account credentials. Send the current version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"updateOrganization","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationResponse"}}},"description":"Committed organization presentation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Change organization name","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/apps":{"get":{"operationId":"listAppInstallationConfigs","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationConfigsResponse"}}},"description":"Current developer app registrations.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationConfigsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationConfigsConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationConfigsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List developer apps","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]},"post":{"operationId":"createAppInstallationConfig","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigResponse"}}},"description":"Committed app registration metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Register a developer app","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}":{"get":{"operationId":"getAppInstallationConfig","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationConfigResponse"}}},"description":"Current developer app configuration.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read developer app configuration","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]},"patch":{"operationId":"updateAppInstallationConfig","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigResponse"}}},"description":"Replaced public app configuration; replay returns the original result.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Replace developer app configuration","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}/disable":{"post":{"description":"Organizations can no longer install the app. Existing installations keep working and can still be repaired. Enable reverses it. A retired app returns 409.","operationId":"disableAppInstallationConfig","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigResponse"}}},"description":"App configuration after the change.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisableAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Stop new installations of a developer app","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}/enable":{"post":{"description":"Reverses Disable. A retired app cannot be enabled and returns 409.","operationId":"enableAppInstallationConfig","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigResponse"}}},"description":"App configuration after the change.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EnableAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Accept new installations of a developer app again","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}/retire":{"post":{"description":"Refuses new installations and stops every installation's credentials at once; uninstalling every installation continues asynchronously after the response. It cannot be undone: enabling, disabling or updating a retired app returns 409. Retiring an already retired app at its current version returns 200 and runs the uninstall again.","operationId":"retireAppInstallationConfig","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigResponse"}}},"description":"App configuration after the change.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigNotFoundProblem"}}},"description":"APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigConflictProblem"}}},"description":"APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetireAppInstallationConfigGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Retire a developer app permanently","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}/webhook-signing-key":{"get":{"operationId":"getAppWebhookSigningKey","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAppWebhookSigningKeyResponse"}}},"description":"Key metadata without secret material.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppWebhookSigningKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}}},"description":"APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read an App webhook signing key status","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/apps/{appId}/webhook-signing-key/reveal":{"post":{"description":"The same Idempotency-Key may recover a lost response within the receipt retention window. Every retry checks current developer access.","operationId":"revealAppWebhookSigningSecret","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevealAppWebhookSigningSecretResponse"}}},"description":"First reveal, its retry, or already-revealed metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevealAppWebhookSigningSecretBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevealAppWebhookSigningSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationConfigUnavailableProblem"}}},"description":"APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevealAppWebhookSigningSecretUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Reveal an App webhook signing secret once","tags":["App Installation Configurations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/avatar":{"delete":{"description":"Removes the organization's custom avatar, so avatarUrl becomes null, and returns the organization with its new version. Owners and Admins can call it with account credentials. Send the current version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"removeOrganizationAvatar","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarResponse"}}},"description":"Organization presentation with a null default avatar.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationAvatarGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Remove an organization avatar","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/avatar/commit":{"post":{"description":"Sets the organization's avatar to an image uploaded with createOrganizationAvatarUpload, after checking its size, type and contents, and discards the previous avatar; an invalid or expired upload is rejected. Owners and Admins can call it with account credentials. Send the current version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"commitOrganizationAvatar","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarResponse"}}},"description":"Committed organization presentation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitOrganizationAvatarGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Commit an organization avatar","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/avatar/uploads":{"post":{"description":"Upload a JPEG, PNG, or WebP image up to 5 MiB with every returned form field and the file last. Upload directly without Photon credentials, then commit the uploadId. Do not log or cache upload URLs or fields.","operationId":"createOrganizationAvatarUpload","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationAvatarUploadRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationAvatarUploadResponse"}}},"description":"A ten-minute organization-bound presigned upload.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationAvatarUploadForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationAvatarUploadConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationAvatarUploadGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create an organization avatar upload","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/billing":{"get":{"description":"Returns the selected organization’s billing subscription and entitlementsVersion. The subscription can be null. Read the returned plan, charges and entitlements to inspect organization billing; this operation does not purchase or change a plan.","operationId":"getOrganizationBillingOverview","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationBillingOverviewResponse"}}},"description":"The organization-owned plan and its resolved entitlements.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationBillingOverviewForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationBillingOverviewInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationBillingOverviewServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationBillingOverviewGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Get organization billing overview","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/checkout":{"post":{"description":"Returns a hosted payment-method collection URL for the selected organization. An Idempotency-Key header is optional; supply one to make retries safe. Complete the returned checkout flow. Receiving the URL does not mean a card has been saved; check payment-method status afterward.","operationId":"createOrganizationPaymentMethodCheckout","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":false,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutResponse"}}},"description":"Hosted card-capture page for the organization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; PAYMENT_PROVIDER_NOT_READY: Payment Provider Not Ready\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationPaymentMethodCheckoutGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create payment method checkout","tags":["Organization Billing"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["billing:manage"]}},"/v1/organizations/{organizationId}/billing/credit":{"get":{"description":"Returns the credit the selected organization holds: on credit notes, such as the unused time of a plan an upgrade replaced or the unused days of a prorated fixed charge it released, and in its wallet: the credit Photon granted it, such as a new account's first organization's welcome credit, and any prepaid credit it bought. It offsets that organization's invoices of any kind except one-off invoices, credit notes first. Reading it does not apply or change credit.","operationId":"getOrganizationCredit","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationCreditResponse"}}},"description":"The organization's credit balance.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationCreditForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationCreditInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationCreditGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Get organization credit","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/credit/activity":{"get":{"description":"Returns one page of how the selected organization's credit balance changed, newest first: credit notes issued and credit granted, credit applied to invoices, credit restored when the change an invoice paid for never applied, and credit voided. Each entry names the credit note (none for granted credit), the invoice when there is one, and the charge and subscription the credit note credits, or that the credit was a grant. Pass nextPage as page to read further. This operation does not change billing.","operationId":"listCreditActivity","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Page to read, from 1: the nextPage of the page before.","in":"query","name":"page","schema":{"maximum":2147483647,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditActivityResponse"}}},"description":"One page of the organization's credit activity.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListCreditActivityForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListCreditActivityInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListCreditActivityGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"List credit activity","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/invoices":{"get":{"description":"Returns one page of the selected organization's invoices, newest first: every invoice issued to it with a nonzero total or actual charges, including charges fully paid by credit; drafts and empty invoices are excluded. Each names what it charged the organization's own subscription and each project. Pass subject to list only the invoices that charge the organization itself or one of its projects, and nextCursor as cursor to read further. Listing invoices does not make a payment or modify a subscription.","operationId":"listInvoices","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"nextCursor of the page before; omitted for the first page.","in":"query","name":"cursor","schema":{"maxLength":512,"minLength":1,"type":"string"}},{"description":"At most this many invoices, 1 to 100. 20 when omitted.","in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Only the invoices that charge this subject a nonzero amount: organization for the organization's own charges, such as SSO and 10DLC, or one of its projects by id. Omitted, every invoice.","in":"query","name":"subject","schema":{"anyOf":[{"const":"organization","type":"string"},{"type":"string"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListInvoicesResponse"}}},"description":"One page of the organization's invoices, newest first, excluding drafts and empty invoices; includes charges fully paid by credit.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListInvoicesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListInvoicesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListInvoicesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"List invoices","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/invoices/{invoiceId}/pdf":{"get":{"description":"Returns the PDF of one of the selected organization's invoices, once it is generated; an invoice's pdfUrl links here. Drafts have none. Reading it does not change billing.","operationId":"getInvoicePdf","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Invoice id.","in":"path","name":"invoiceId","required":true,"schema":{"pattern":"^pho_inv_.*","type":"string"}}],"responses":{"200":{"description":"The invoice's PDF.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetInvoicePdfForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvoiceNotFoundProblem"}}},"description":"INVOICE_NOT_FOUND: Invoice Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetInvoicePdfInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetInvoicePdfGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Download an invoice's PDF","tags":["Organization Billing"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/payment-actions":{"get":{"description":"Returns the selected organization's payments waiting on the customer's authentication (3DS), newest first, with what each pays for: a pending plan change, fixed-charge increase or one-off invoice, or an invoice such as a renewal. A plan change is not invoiced until it is paid, so its payment has no invoice number yet. Pass subject to list only the payments for the organization itself or one of its projects. Pay an invoice to complete its payment; listing makes no payment.","operationId":"listPaymentActions","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Only the payments for this subject: organization for the organization's own, such as SSO and 10DLC, or one of its projects by id. Omitted, every payment.","in":"query","name":"subject","schema":{"anyOf":[{"const":"organization","type":"string"},{"type":"string"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPaymentActionsResponse"}}},"description":"The organization's payments waiting on the customer, newest first.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListPaymentActionsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListPaymentActionsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListPaymentActionsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"List payments to confirm","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/payment-method":{"get":{"description":"Reports whether the selected organization has a card on file, its documented payment-method metadata, whether a purchase needs a card first (purchaseRefusal), and how it pays: by card, or by invoice on its contract's terms (agreement). Reading this endpoint does not collect a new card or create a checkout session.","operationId":"getOrganizationPaymentMethod","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationPaymentMethodResponse"}}},"description":"Whether the organization has a captured card and its metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationPaymentMethodForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationPaymentMethodInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationPaymentMethodGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Get organization payment method","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/preview":{"post":{"description":"Previews a fixed-charge quantity change on the selected organization's own subscription, such as SSO. Prices the change by the billing engine exactly as making it would bill it now: dueNow is that invoice, with taxes and the payer's credits applied. A purchase bills each unit it adds, even after a release this period. A release bills nothing; releasing a prorated charge credits its unused days to the organization's credit. dueLater is what the change leads to that is billed later instead, upcomingInvoices what the subscription it leaves bills in the following periods, and nextCharge the first of them. change says what the change does by its kind: for a fixed-charge change, pass change.quote on with the purchase so it is refused if the price or period no longer hold. This operation does not change billing. promotionCode previews a code as the purchase redeems it, and needs billing:manage; a refused code answers PROMOTION_CODE_REJECTED with the reason a refused purchase gives.","operationId":"previewOrganizationChange","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeResponse"}}},"description":"What the change would bill.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeConflictProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition; PROMOTION_CODE_REJECTED: Promotion Code Rejected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewOrganizationChangeGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Preview an organization billing change","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/projects/{projectId}/preview":{"post":{"description":"Previews a change on the selected project's subscription in the supplied category: a fixed-charge quantity change, or a plan change with the held fixed charges it carries over. Prices the change by the billing engine exactly as making it would bill it now: dueNow is that invoice, with taxes and the payer's credits applied. A purchase bills each unit it adds, even after a release this period. A release bills nothing; releasing a prorated charge credits its unused days to the organization's credit. dueLater is what the change leads to that is billed later instead, upcomingInvoices what the subscription it leaves bills in the following periods, and nextCharge the first of them. change says what the change does by its kind: for a fixed-charge change, pass change.quote on with the purchase so it is refused if the price or period no longer hold. This operation does not change billing. An upgrade bills the replaced plan's usage to date and the new plan from now, less the replaced plan's unused time; a downgrade, or choosing the held plan again, bills nothing now; change says when it applies and which held fixed charges the target does not sell: released first for a change that applies now, released with a downgrade when it applies. additions quotes what is added once an upgrade applies, each billed when it is added, in dueLater and outside dueNow. promotionCode previews a code as the purchase redeems it, and needs billing:manage; a refused code answers PROMOTION_CODE_REJECTED with the reason a refused purchase gives. Supply both organizationId and projectId; the organization must pay for the project.","operationId":"previewProjectChange","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeResponse"}}},"description":"What the change would bill.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeConflictProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition; PROMOTION_CODE_REJECTED: Promotion Code Rejected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreviewProjectChangeGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Preview a project billing change","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/projects/{projectId}/purchase":{"post":{"description":"Purchases or changes the selected project's plan for the supplied category and planCode, redeeming promotionCode when given. A 202 response means the change is pending: poll the returned operation URL and honor Retry-After until it succeeds or fails. A 200 response means the idempotency key resolved to an operation that is already terminal; inspect that result rather than assuming success from the status code alone. Supply the required Idempotency-Key header. Supply both organizationId and projectId to select the project within its organization.","operationId":"changePlan","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalBillingOperation"}}},"description":"The idempotency key resolved to an operation that is already terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingBillingOperation"}}},"description":"Plan change accepted. Poll the returned operation until it succeeds or fails.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical billing operation to poll for completion.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum seconds to wait before polling again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanConflictProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition; IDEMPOTENCY_REQUEST_IN_PROGRESS: Idempotency Request In Progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; IDEMPOTENCY_UNAVAILABLE: Idempotency Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ChangePlanGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Change plan","tags":["Project Billing"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["billing:manage"]}},"/v1/organizations/{organizationId}/billing/projects/{projectId}/terms":{"get":{"description":"Returns what the selected project is billed on now, per category it holds: the plan as its subscription has it, with any override applied, each fixed charge at the subscription's price and quantity, and resolved entitlements; where the plan comes from; how invoices are paid; the current period and next billing date; and any downgrade or cancellation waiting for the period end. Supply both organizationId and projectId; the organization must pay for the project. This operation does not change billing.","operationId":"getEffectiveTerms","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEffectiveTermsResponse"}}},"description":"The project's effective billing terms, per category.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEffectiveTermsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEffectiveTermsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEffectiveTermsServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEffectiveTermsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Get the project's effective billing terms","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/billing/terms":{"get":{"description":"Returns what the selected organization is billed on now on its own subscription, such as SSO and 10DLC campaigns: the plan as the subscription has it, with any override applied, each fixed charge at the subscription's price and the quantity the organization holds, and resolved entitlements; where the plan comes from; how invoices are paid; the current period and next billing date; and any downgrade or cancellation waiting for the period end. subscription has a project subscription's terms without its category, and is null when the organization holds none. Project subscriptions are read per project. This operation does not change billing.","operationId":"getOrganizationTerms","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationTermsResponse"}}},"description":"The organization's effective billing terms.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationTermsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationTermsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationTermsServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending; BILLING_NOT_PROVISIONED: Billing Not Provisioned\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationTermsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["billing:read"]}],"summary":"Get the organization's effective billing terms","tags":["Organization Billing"],"x-required-permissions":["billing:read"]}},"/v1/organizations/{organizationId}/deletion-check":{"get":{"description":"Reports whether the organization can be deleted now (canDelete), the blockers to clear first, such as active projects or unpaid invoices, and the version to send to closeOrganization. The answer is advisory, because deletion checks again. Only the Owner can call it, with account credentials; in an organization that requires SSO, sign in through SSO, because Account Service Keys are refused.","operationId":"checkOrganizationDeletion","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckOrganizationDeletionResponse"}}},"description":"Check whether the organization can be deleted and list prerequisites.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckOrganizationDeletionForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckOrganizationDeletionConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckOrganizationDeletionGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Check organization deletion prerequisites","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/installation-requests/{requestId}":{"get":{"operationId":"getAppInstallationApproval","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"requestId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalResponse"}}},"description":"App-declared permissions and the current installation, if present.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationApprovalGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Preview an app installation approval","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/installations":{"get":{"operationId":"listAppInstallations","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsResponse"}}},"description":"Every installation of the organization that is not uninstalled.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAppInstallationsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List app installations","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"post":{"operationId":"approveAppInstallation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationResponse"}}},"description":"Accepted installation or current existing installation metadata. Credential provisioning and delivery complete separately.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApproveAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Approve an app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}":{"get":{"operationId":"getAppInstallation","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationResponse"}}},"description":"Current App declaration and the customer's approved installation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read an app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/installations/{installationId}/code":{"post":{"description":"Returns the registered callback once. Replays contain metadata only; a lost code requires explicit delivery repair.","operationId":"issueAppInstallationDeliveryCode","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueAppInstallationDeliveryCodeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueAppInstallationDeliveryCodeResponse"}}},"description":"First issuance includes the callback; replays never include a code.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/IssueAppInstallationDeliveryCodeForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AppInstallationDeliveryUnavailableProblem"}}},"description":"APP_INSTALLATION_DELIVERY_UNAVAILABLE: Installation Delivery Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Issue the approved installation delivery code","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}/permissions":{"patch":{"operationId":"updateAppInstallationPermissions","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsResponse"}}},"description":"Updated installation; M2M expansion waits for scope synchronization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAppInstallationPermissionsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Approve installation permissions","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}/repair":{"post":{"operationId":"repairAppInstallation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationResponse"}}},"description":"Accepted repair; replacement delivery waits for prior credential cleanup.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RepairAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Repair installation credential delivery","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}/resume":{"post":{"operationId":"resumeAppInstallation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationResponse"}}},"description":"Current installation metadata, including idempotent replays.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResumeAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Resume an app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}/suspend":{"post":{"operationId":"suspendAppInstallation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationResponse"}}},"description":"Current installation metadata, including idempotent replays.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SuspendAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Suspend an app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/installations/{installationId}/uninstall":{"post":{"operationId":"uninstallAppInstallation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"installationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationResponse"}}},"description":"Current installation metadata, including idempotent replays.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationBadRequestProblem"}}},"description":"APP_INSTALLATION_PERMISSIONS_INVALID: Installation Permissions Invalid; INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationNotFoundProblem"}}},"description":"APP_INSTALLATION_REQUEST_NOT_FOUND: App Installation Request Not Found; APP_INSTALLATION_CONFIG_NOT_FOUND: App Installation Configuration Not Found; APP_INSTALLATION_NOT_FOUND: Installation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationConflictProblem"}}},"description":"APP_INSTALLATION_REQUEST_ALREADY_BOUND: App Installation Request Already Bound; APP_INSTALLATION_CONFIG_UNAVAILABLE: App Installation Configuration Unavailable; APP_INSTALLATION_REDIRECT_URI_INVALID: App Installation Redirect URI Invalid; APP_INSTALLATION_VERSION_CONFLICT: Installation Version Conflict; APP_INSTALLATION_STATE_CONFLICT: Installation State Conflict; APP_INSTALLATION_REPAIR_UNAVAILABLE: Installation Repair Unavailable; APP_INSTALLATION_CONFIG_VERSION_CONFLICT: App Installation Configuration Version Conflict; ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UninstallAppInstallationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Uninstall an app installation","tags":["App Installations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_app_installations"]}},"/v1/organizations/{organizationId}/invitations":{"get":{"description":"Lists the organization's pending, unexpired invitations, newest first, in one unpaginated response; accepted, revoked and expired invitations are left out, and invitation links are never returned. Owners and Admins can call it with account credentials.","operationId":"listOrganizationInvitations","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationInvitationsResponse"}}},"description":"Organization invitations; no token is returned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationInvitationsForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationInvitationsConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationInvitationsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List pending organization invitations","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]},"post":{"description":"Invites an email address to the organization as a Member or Viewer and emails it a link that stays valid for 7 days; the Admin and Owner roles can't be invited. Owners and Admins can call it with account credentials and the required Idempotency-Key header. Inviting an address that has a pending invitation for the same role resends it and a different role returns 409, while sending too often (twice within a minute, more than 30 an hour or 100 pending per organization) returns 429.","operationId":"createOrganizationInvitation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationResponse"}}},"description":"Invitation applies to all current and future projects. No token is returned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationInvitationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Invite a Member or Viewer to all organization projects","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]}},"/v1/organizations/{organizationId}/invitations/{invitationId}/resend":{"post":{"description":"Emails a pending invitation again with the same link and restarts its 7-day expiry. Owners and Admins can call it with account credentials and the required Idempotency-Key header. An expired, revoked or accepted invitation returns 409, and a resend within 60 seconds of the last send, or past the organization's 30 sends an hour, returns 429.","operationId":"resendOrganizationInvitation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationResponse"}}},"description":"The invitation after the operation; no token is returned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResendOrganizationInvitationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Resend an organization invitation","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]}},"/v1/organizations/{organizationId}/invitations/{invitationId}/revoke":{"post":{"description":"Revokes an invitation so its link can no longer be previewed or accepted; no email is sent, and an accepted invitation can't be revoked (409). Owners and Admins can call it with account credentials and the required Idempotency-Key header. Revoking an invitation that is already revoked or expired succeeds.","operationId":"revokeOrganizationInvitation","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationResponse"}}},"description":"The invitation after the operation; no token is returned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationForbiddenProblem"}}},"description":"INVITATION_EMAIL_MISMATCH: Invitation Email Mismatch; INVITATION_INVITER_INELIGIBLE: Invitation Inviter Ineligible; ORGANIZATION_SSO_REQUIRED: Organization SSO Required; FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvitationNotFoundProblem"}}},"description":"INVITATION_NOT_FOUND: Invitation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; INVITATION_EXPIRED: Invitation Expired; INVITATION_REVOKED: Invitation Revoked; INVITATION_ROLE_CONFLICT: Invitation Role Conflict; INVITATION_TERMINAL: Invitation Terminal; INVITATION_PREDATES_REMOVAL: Invitation Predates Removal; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeOrganizationInvitationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Revoke an organization invitation","tags":["Organization Invitations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]}},"/v1/organizations/{organizationId}/leave":{"post":{"description":"Removes the authenticated account's own membership. Nothing is revoked: the account's sessions, OAuth grants and Account Service Keys stop being accepted for the organization and its projects shortly after the call, and project API keys and Service Identity credentials it created keep working until they are revoked. Any member except the Owner can call it, with account credentials or an OAuth grant for this organization with the organization:read scope; the Owner gets 409 and must transfer ownership or delete the organization first. Send the caller's own membership version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"leaveOrganization","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationResponse"}}},"description":"Committed removal of the authenticated member.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_TRANSFER_TO_SELF: Choose Another Organization Owner; ORGANIZATION_OWNER_INVARIANT: Organization Ownership Requires Recovery; ORGANIZATION_OWNER_PROTECTED: Organization Owner Protected; ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN: Use Leave Organization; ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT: Organization Membership Version Conflict; ORGANIZATION_MEMBER_REMOVED: Organization Member Removed; ORGANIZATION_RECOVERY_REQUIRED: Organization Recovery Required; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LeaveOrganizationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["organization:read"]}],"summary":"Leave an organization; Owners must transfer or close first","tags":["Organization Members"],"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/members":{"get":{"description":"Lists the organization's active members, ordered by account ID, with each member's role, membership version and account profile (name, email and picture); a member whose account is missing or deleted has a null profile. Any member can call it with account credentials, or with an OAuth grant for this organization that has the organization:read scope. The list is not paginated.","operationId":"listOrganizationMembers","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationMembersResponse"}}},"description":"Current active organization memberships.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationMembersForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationMembersConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_TRANSFER_TO_SELF: Choose Another Organization Owner; ORGANIZATION_OWNER_INVARIANT: Organization Ownership Requires Recovery; ORGANIZATION_OWNER_PROTECTED: Organization Owner Protected; ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN: Use Leave Organization; ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT: Organization Membership Version Conflict; ORGANIZATION_MEMBER_REMOVED: Organization Member Removed; ORGANIZATION_RECOVERY_REQUIRED: Organization Recovery Required; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationMembersGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"oauth2":["organization:read"]}],"summary":"List current organization members","tags":["Organization Members"],"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/members/{memberAccountId}":{"delete":{"description":"Removes an active member from the organization. Nothing is revoked: their sessions, OAuth grants and Account Service Keys stop being accepted for the organization and its projects shortly after the call, and project API keys and Service Identity credentials they created or hold keep working until an Owner or Admin revokes them. Owners and Admins can call it with account credentials, but only the Owner can remove an Admin, and neither the Owner nor the caller can be removed here (409; leave with leaveOrganization). Send the member's current membership version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"removeOrganizationMember","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"memberAccountId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberResponse"}}},"description":"Committed removal; project keys retain their independent lifecycle.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_TRANSFER_TO_SELF: Choose Another Organization Owner; ORGANIZATION_OWNER_INVARIANT: Organization Ownership Requires Recovery; ORGANIZATION_OWNER_PROTECTED: Organization Owner Protected; ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN: Use Leave Organization; ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT: Organization Membership Version Conflict; ORGANIZATION_MEMBER_REMOVED: Organization Member Removed; ORGANIZATION_RECOVERY_REQUIRED: Organization Recovery Required; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveOrganizationMemberGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Remove a member from the organization","tags":["Organization Members"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]},"patch":{"description":"Changes an active member's role to admin, member or viewer. Owners and Admins can call it with account credentials, but only the Owner can make someone an Admin or change an Admin's role, and nobody can change the Owner's role or their own here (409). Send the member's current membership version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"updateOrganizationMemberRole","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"memberAccountId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleResponse"}}},"description":"Committed membership result; refresh the member list for current state.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_TRANSFER_TO_SELF: Choose Another Organization Owner; ORGANIZATION_OWNER_INVARIANT: Organization Ownership Requires Recovery; ORGANIZATION_OWNER_PROTECTED: Organization Owner Protected; ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN: Use Leave Organization; ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT: Organization Membership Version Conflict; ORGANIZATION_MEMBER_REMOVED: Organization Member Removed; ORGANIZATION_RECOVERY_REQUIRED: Organization Recovery Required; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Change an organization member's role across all projects","tags":["Organization Members"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_members"]}},"/v1/organizations/{organizationId}/oauth/clients":{"get":{"description":"Lists the third-party OAuth applications the organization owns, with their metadata but never their secrets, in one unpaginated response. Any member can call it with account credentials.","operationId":"listOrganizationOauthClients","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationOauthClientsResponse"}}},"description":"Third-party OAuth applications owned by the organization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationOauthClientsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationOauthClientsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganizationOauthClientsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List organization OAuth clients","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"post":{"description":"Use the same UUID Idempotency-Key and payload when retrying. Unknown provider outcomes require recovery; do not use a new key to retry an uncertain creation.","operationId":"createOrganizationOauthClient","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientResponse"}}},"description":"Created organization OAuth client, or the same recorded creation on retry.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Opaque resource version.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientConflictProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable; OAUTH_CLIENT_CREATION_CONFLICT: OAuth Client Creation Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientQuotaExceededProblem"}}},"description":"OAUTH_CLIENT_QUOTA_EXCEEDED: OAuth Client Quota Exceeded","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationOauthClientGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create an organization OAuth client","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]}},"/v1/organizations/{organizationId}/oauth/clients/{clientId}":{"delete":{"description":"Queues deletion of the exact provider application. Retry DELETE to read its current status. Accepted deletion does not promise immediate token revocation.","operationId":"deleteOrganizationOauthClient","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientResponse"}}},"description":"Provider deletion has been confirmed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientResponse"}}},"description":"Deletion accepted; provider cleanup is pending.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientConflictProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable; OAUTH_CLIENT_DELETION_CONFLICT: OAuth Client Deletion Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Delete an organization OAuth client","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]},"get":{"description":"Returns one third-party OAuth application the organization owns, without its secret. Any member can call it with account credentials. The ETag response header is the value updateOrganizationOauthClient needs in If-Match.","operationId":"getOrganizationOauthClient","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientResponse"}}},"description":"Organization OAuth client metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Opaque resource version.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read an organization OAuth client","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"patch":{"description":"Requires If-Match from the latest read. Stale versions return 412. A failed response may follow an applied provider update; reread before retrying. Version checking is not provider atomic CAS.","operationId":"updateOrganizationOauthClient","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}},{"in":"header","name":"if-match","required":true,"schema":{"pattern":"^\"[A-Za-z0-9_-]{43}\"$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationOauthClientRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationOauthClientResponse"}}},"description":"Updated organization OAuth client.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Opaque resource version.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationOauthClientForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientPreconditionFailedProblem"}}},"description":"OAUTH_CLIENT_PRECONDITION_FAILED: OAuth Client Precondition Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationOauthClientInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationOauthClientGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Update an organization OAuth client","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]}},"/v1/organizations/{organizationId}/oauth/clients/{clientId}/secret":{"delete":{"description":"Stops every secret of the app now, including one still in its grace period.","operationId":"deleteOrganizationOauthClientSecret","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}}],"responses":{"204":{"description":"The app has no secret.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientSecretConflictProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable; OAUTH_SECRET_REVOCATION_CONFLICT: OAuth Secret Revocation Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientSecretInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationOauthClientSecretGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Revoke an organization OAuth client's secret","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]},"get":{"description":"Returns metadata about an OAuth application's secret: the current secret and, after a rotation, the previous one while it still works, with each one's hint, creation and last-use times; the previous one's validUntil is when it stops working, or null when it lasts until the next rotation or revocation. The secret value is never returned. Only Owners and Admins can call it, with account credentials.","operationId":"getOrganizationOauthClientSecret","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientSecretResponse"}}},"description":"Secret metadata; plaintext is never returned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationUnavailableProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientSecretInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOrganizationOauthClientSecretGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read an organization OAuth client's secret","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]},"put":{"description":"Mints the app's first secret; once it has one, rotate it instead. Retain the same UUID Idempotency-Key when retrying: only the delivering request returns plaintext.","operationId":"setupOrganizationOauthClientSecret","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretResponse"}}},"description":"Replay: the secret exists, its plaintext is gone.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretCreatedResponse"}}},"description":"Secret created; plaintext is returned once.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretConflictProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable; OAUTH_SECRET_CONFIGURED: OAuth Secret Already Configured; OAUTH_SECRET_CREATION_CONFLICT: OAuth Secret Creation Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetupOrganizationOauthClientSecretGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create an organization OAuth client's secret","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]}},"/v1/organizations/{organizationId}/oauth/clients/{clientId}/secret/rotate":{"post":{"description":"Mints a new secret, then retires the one it replaces: `normal` keeps the old one working for one hour, `emergency` stops it now. A secret not created through Photon always stops now. Rotating again ends an earlier grace period. Retain the same UUID Idempotency-Key when retrying: only the delivering request returns plaintext.","operationId":"rotateOrganizationOauthClientSecret","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clientId","required":true,"schema":{"maxLength":128,"pattern":"^client_[A-Za-z0-9]+$","type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretResponse"}}},"description":"Secret rotated. `previousSecretValidUntil` is when the old one stops working, null once it has.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OauthClientNotFoundProblem"}}},"description":"OAUTH_CLIENT_NOT_FOUND: OAuth Client Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretConflictProblem"}}},"description":"ORGANIZATION_UNAVAILABLE: Organization Unavailable; OAUTH_SECRET_NOT_CONFIGURED: OAuth Secret Not Configured; OAUTH_SECRET_CREATION_CONFLICT: OAuth Secret Creation Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateOrganizationOauthClientSecretGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Rotate an organization OAuth client's secret","tags":["Organization OAuth"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_oauth_applications"]}},"/v1/organizations/{organizationId}/projects":{"get":{"description":"Returns a cursor-paginated page of the active projects in organizationId. Filter using query and the documented creation-time bounds, and navigate with pageSize and pageToken. Project roles are not returned and role is not a supported filter.","operationId":"listProjects","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"createdAfter","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"}},{"in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"}},{"in":"query","name":"query","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"maxLength":2048,"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPage"}}},"description":"One page of active projects in the organization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"List projects","tags":["Projects"],"x-required-permissions":["organization:read_projects"]},"post":{"description":"Creates in the authorized organization. In addition to account credentials, explicitly granted Service Identity API keys and M2M tokens may create projects. Project API keys cannot create projects. Creator and private credential evidence come only from the trusted authorization context. The caller-selected slug is immutable, must be 3 to 63 lowercase ASCII alphanumerics separated by single hyphens, and cannot be reserved or held by any active or deleted project.","operationId":"createProject","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"The created project, ready to use: its billingInitialization is completed or unknown. A replay after setup finished answers here too.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"The project is created but its billing is still being set up. GET the Location after the Retry-After interval until billingInitialization is completed or unknown; retry_required means setup is being retried, so keep polling.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the created project. Poll it until billingInitialization is completed or unknown.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the project.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SlugTakenProblem"}}},"description":"SLUG_TAKEN: Slug Already Taken","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Create project","tags":["Projects"],"x-required-permissions":["organization:create_project"]}},"/v1/organizations/{organizationId}/projects/closure-status":{"get":{"description":"Returns closure progress for projectId within organizationId, including deletionOperationId, domain progress and ready. This read operation does not initiate deletion.","operationId":"getProjectClosureStatus","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProjectClosureStatusResponse"}}},"description":"Current cleanup and settlement evidence. Project deletion alone does not establish readiness.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectClosureStatusForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectClosureStatusGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Get project closure status","tags":["Projects"],"x-required-permissions":["organization:read_projects"]}},"/v1/organizations/{organizationId}/projects/count":{"get":{"description":"Counts the projects the same filter would list. The count is read from the primary, so it is authoritative rather than replica-lagged.","operationId":"countProjects","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"createdAfter","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"}},{"in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","type":"string"}},{"in":"query","name":"query","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCount"}}},"description":"The number of matching projects.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountProjectsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountProjectsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Count projects","tags":["Projects"],"x-required-permissions":["organization:read_projects"]}},"/v1/organizations/{organizationId}/projects/slug-availability":{"get":{"description":"Reports whether createProject would accept `slug` right now. Advisory: only the create itself allocates, so a caller must still handle SLUG_TAKEN. A malformed slug is rejected on shape; a reserved slug, a slug held by an active project, and a slug retired with a deleted project each answer `available: false` with a reason.","operationId":"checkProjectSlugAvailability","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"slug","required":true,"schema":{"maxLength":63,"minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckProjectSlugAvailabilityResponse"}}},"description":"Whether the slug can be allocated, and why not.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckProjectSlugAvailabilityForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckProjectSlugAvailabilityGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Check project slug availability","tags":["Projects"],"x-required-permissions":["organization:create_project"]}},"/v1/organizations/{organizationId}/service-identities":{"get":{"description":"Lists every Service Identity in the organization, oldest first, including disabled ones and those managed by app installations, in one unpaginated response. Any member can call it with account credentials. It returns identity metadata only, never credentials.","operationId":"listServiceIdentities","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentitiesResponse"}}},"description":"Current organization identity metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentitiesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentitiesConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentitiesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List organization Service Identities","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"post":{"description":"Creates an active Service Identity, a machine identity owned by the organization, with a name and a non-empty set of permissions from listServiceIdentityPermissions; it starts with no credentials. Owners and Admins can call it with account credentials and the required Idempotency-Key header.","operationId":"createServiceIdentity","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityResponse"}}},"description":"Committed identity metadata; credentials are managed separately.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create an organization Service Identity","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/permissions":{"get":{"description":"The permissions a Service Identity or installable app may be granted: the machine set of the current auth contract, sorted. Create, update, and app declarations accept exactly these values.","operationId":"listServiceIdentityPermissions","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityPermissionsResponse"}}},"description":"Grantable machine permissions.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityPermissionsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityPermissionsConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityPermissionsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List grantable Service Identity permissions","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}":{"get":{"description":"Returns one Service Identity with its permissions, status and version. Any member can call it with account credentials. Send version as expectedVersion to updateServiceIdentity, or as expectedIdentityVersion when creating a credential.","operationId":"getServiceIdentity","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityResponse"}}},"description":"Current identity metadata.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read a Service Identity","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:read"]},"patch":{"description":"Changes a Service Identity's name, its permissions (the list replaces the current one) or its status. Disabling an identity stops its API keys and M2M tokens from authorizing requests without revoking them, and an identity managed by an app installation can't be changed (409). Owners and Admins can call it with account credentials; send the current version as expectedVersion, because a stale version returns 409, and supply the required Idempotency-Key header.","operationId":"updateServiceIdentity","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityResponse"}}},"description":"Committed identity metadata; replay returns the original result.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateServiceIdentityGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Update a Service Identity","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}/credentials":{"get":{"description":"Lists metadata for every API key and client secret of a Service Identity, oldest first, including pending and revoked ones, in one unpaginated response; it never returns secret values. Only Owners and Admins can call it, with account credentials.","operationId":"listServiceIdentityCredentials","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsResponse"}}},"description":"Credential metadata, including pending and revoked entries; never secrets.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialNotFoundProblem"}}},"description":"SERVICE_CREDENTIAL_NOT_FOUND: Service Credential Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsConflictProblem"}}},"description":"APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_CREDENTIAL_CONFLICT: Service Credential Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialPreconditionFailedProblem"}}},"description":"SERVICE_CREDENTIAL_PRECONDITION_FAILED: Service Credential Precondition Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListServiceIdentityCredentialsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List Service Identity credential metadata","tags":["Service Credentials"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}/credentials/api-keys":{"post":{"description":"Creates an API key for an active Service Identity that no app installation manages; the key acts with the identity's current permissions. Only a response with status created returns the key's value, so store it securely; retry with the same Idempotency-Key, which must be a UUID: a retry returns the key's status without the value, and status recovery_required means the value was not delivered and can't be retrieved. Owners and Admins can call it with account credentials, and expectedIdentityVersion must match the identity's current version, else 409; an identity managed by an app installation also returns 409.","operationId":"createServiceIdentityApiKey","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyResponse"}}},"description":"Creation state; only the first successful delivery includes value.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialNotFoundProblem"}}},"description":"SERVICE_CREDENTIAL_NOT_FOUND: Service Credential Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyConflictProblem"}}},"description":"APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_CREDENTIAL_CONFLICT: Service Credential Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialPreconditionFailedProblem"}}},"description":"SERVICE_CREDENTIAL_PRECONDITION_FAILED: Service Credential Precondition Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityApiKeyGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create a one-time Service Identity API key","tags":["Service Credentials"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}/credentials/client-secrets":{"post":{"description":"Creates a client secret for the machine-to-machine (M2M) application of an active Service Identity that no app installation manages, setting the application up first if needed, and returns the secret with its clientId once; exchange them for M2M access tokens, and never send the secret to other operations. Retry with the same Idempotency-Key, which must be a UUID: a retry returns the status without the secret, and a response with stage application (status recovery_required or cleanup_required) means the application could not be set up and no secret exists. Owners and Admins can call it with account credentials, and expectedIdentityVersion must match the identity's current version, else 409; an identity managed by an app installation also returns 409.","operationId":"createServiceIdentityClientSecret","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretResponse"}}},"description":"Creation stage and state; only first delivery includes value and clientId.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialNotFoundProblem"}}},"description":"SERVICE_CREDENTIAL_NOT_FOUND: Service Credential Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretConflictProblem"}}},"description":"APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_CREDENTIAL_CONFLICT: Service Credential Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialPreconditionFailedProblem"}}},"description":"SERVICE_CREDENTIAL_PRECONDITION_FAILED: Service Credential Precondition Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateServiceIdentityClientSecretGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create a one-time Service Identity M2M client secret","tags":["Service Credentials"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}/credentials/{credentialId}/revoke":{"post":{"description":"Revokes an API key or client secret of a Service Identity; this can't be undone. An API key stops working shortly after the call, while a client secret gets revocationRequestedAt and stays active until Photon confirms its deletion, and M2M access tokens already issued with it keep working until they expire; repeating the call returns the current state. Owners and Admins can call it with account credentials; send the credential's current version as expectedVersion, because a stale version returns 409, and the required Idempotency-Key header.","operationId":"revokeServiceIdentityCredential","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}},{"in":"path","name":"credentialId","required":true,"schema":{"pattern":"^pho_scred_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialResponse"}}},"description":"Credential revocation state; bound client secrets require provider confirmation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialNotFoundProblem"}}},"description":"SERVICE_CREDENTIAL_NOT_FOUND: Service Credential Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialConflictProblem"}}},"description":"APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_CREDENTIAL_CONFLICT: Service Credential Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceCredentialPreconditionFailedProblem"}}},"description":"SERVICE_CREDENTIAL_PRECONDITION_FAILED: Service Credential Precondition Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeServiceIdentityCredentialGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Request Service Identity credential revocation","tags":["Service Credentials"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/service-identities/{serviceIdentityId}/m2m":{"get":{"operationId":"getServiceIdentityM2MConfiguration","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceIdentityId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityM2MConfigurationResponse"}}},"description":"Current M2M configuration without credentials.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityM2MConfigurationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceIdentityNotFoundProblem"}}},"description":"SERVICE_IDENTITY_NOT_FOUND: Service Identity Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityM2MConfigurationConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; APP_INSTALLATION_MANAGED: App Installation Managed; SERVICE_IDENTITY_VERSION_CONFLICT: Service Identity Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetServiceIdentityM2MConfigurationGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read Service Identity M2M configuration","tags":["Service Identities"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:manage_service_identities"]}},"/v1/organizations/{organizationId}/sso/subscription":{"get":{"description":"Returns the organization's SSO subscription: its state, the current monthly price and billing period, whether a payment method must be added first, and whether SSO can be set up (canConfigure). Only Owners and Admins can call it, with account credentials. Send its amount, currency and currentPeriodEnd as the quote when subscribing.","operationId":"getSsoSubscription","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSsoSubscriptionResponse"}}},"description":"Organization SSO subscription and current billing terms","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSsoSubscriptionForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSsoSubscriptionConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSsoSubscriptionGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Read SSO subscription","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]},"post":{"description":"Starts the organization's SSO subscription, billed monthly in advance and prorated. Send the current quote from getSsoSubscription as expectedAmount, expectedCurrency and expectedCurrentPeriodEnd, because a changed price returns 409; the 202 means the request was accepted, and the charge and its outcome then show in the subscription's state. Only Owners and Admins can call it, with account credentials and the required Idempotency-Key header.","operationId":"subscribeSso","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoResponse"}}},"description":"SSO subscription request accepted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscribeSsoGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Subscribe to organization SSO","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/sso/subscription/cancel":{"post":{"description":"Cancels the organization's SSO subscription at once, but only after SSO has been turned off: while SSO is still required it returns 409. The unused days become organization credit, and SSO setup closes. Only Owners and Admins can call it, with account credentials and the required Idempotency-Key header.","operationId":"cancelSsoSubscription","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionResponse"}}},"description":"SSO cancellation request accepted. It ends the subscription right away; the unused days after today become organization credit, never a card refund. Refused while SSO is still required.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionConflictProblem"}}},"description":"ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_SSO_ENABLED: Organization SSO Enabled","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelSsoSubscriptionGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Cancel the SSO subscription","tags":["Organizations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:write"]}},"/v1/organizations/{organizationId}/transfer-ownership":{"post":{"description":"Makes another active member the Owner and turns the current Owner into a Member. Only the Owner can call it, with account credentials and the required Idempotency-Key header. Send the organization's current version, not a membership version, as expectedVersion; a stale version or naming yourself returns 409.","operationId":"transferOrganizationOwnership","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipResponse"}}},"description":"Committed transfer; expectedVersion is the organization version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberNotFoundProblem"}}},"description":"ORGANIZATION_MEMBER_NOT_FOUND: Organization Member Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipConflictProblem"}}},"description":"ACCOUNT_CLOSING: Account Is Closing; ORGANIZATION_VERSION_CONFLICT: Organization Version Conflict; ORGANIZATION_TRANSFER_TO_SELF: Choose Another Organization Owner; ORGANIZATION_OWNER_INVARIANT: Organization Ownership Requires Recovery; ORGANIZATION_OWNER_PROTECTED: Organization Owner Protected; ORGANIZATION_SELF_MANAGEMENT_FORBIDDEN: Use Leave Organization; ORGANIZATION_MEMBERSHIP_VERSION_CONFLICT: Organization Membership Version Conflict; ORGANIZATION_MEMBER_REMOVED: Organization Member Removed; ORGANIZATION_RECOVERY_REQUIRED: Organization Recovery Required; ORGANIZATION_AUTH_POLICY_CHANGED: Organization Authentication Policy Changed; ORGANIZATION_UNAVAILABLE: Organization Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TransferOrganizationOwnershipGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Transfer organization ownership to an existing member","tags":["Organization Members"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["organization:transfer"]}},"/v1/organizations/{organization_id}/10dlc/brands":{"get":{"description":"Lists the selected organization's 10DLC brands as a cursor-paginated page. Use status to filter the result and pageSize and pageToken to navigate it. Entries use a brand summary representation (identifier, display name, profile type, entity type when present, status and timestamps) rather than the full redacted brand; use getTenDlcBrand to read a brand's redacted registration details. Supply organization_id for the organization that owns the registration.","operationId":"listTenDlcBrands","parameters":[{"in":"query","name":"pageSize","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"maxLength":2048,"minLength":1,"type":"string"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTenDlcBrandsResponse"}}},"description":"A cursor-paginated brand page.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcBrandsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcBrandsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcBrandsServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcBrandsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"List brands","tags":["10DLC brands"],"x-required-permissions":["ten_dlc:read"]},"post":{"description":"Registers an encrypted US 10DLC brand. Registration is free, but it is refused with 402 before anything is created when the organization has no payment method on file, or has an invoice overdue 7 days or more or a disputed payment. Registration starts immediately and consumes one of the organization's rolling registration slots; deleting the brand later does not return the slot. The response is redacted; EIN and phone are write-only and represented only by their last four characters. Poll the URL in Location while status is submitting or submitted.","operationId":"createTenDlcBrand","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandResponse"}}},"description":"The redacted brand while registration is in progress.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical resource to poll for completion.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before polling again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; UNSUPPORTED_ENTITY_TYPE: Unsupported Entity Type; PHONE_NOT_SMS_CAPABLE: Phone Is Not SMS Capable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandTooManyRequestsProblem"}}},"description":"RATE_LIMITED: Too Many Requests; BRAND_REGISTRATION_RATE_LIMITED: Brand Registration Rate Limited","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcBrandGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Register a brand","tags":["10DLC brands"],"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/brands/{brandId}":{"delete":{"description":"Deletes a brand whose registration was never verified: one in status otp_required or action_required that has no campaigns. The deletion is final once this returns; the brand is no longer listed, and every route addressing its ID returns BRAND_NOT_FOUND. A deleted brand still counts toward the organization's rolling registration limit.","operationId":"deleteTenDlcBrand","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"responses":{"204":{"description":"The brand was deleted.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; BRAND_HAS_CAMPAIGNS: Brand Has Campaigns","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; UNSUPPORTED_ENTITY_TYPE: Unsupported Entity Type; PHONE_NOT_SMS_CAPABLE: Phone Is Not SMS Capable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteTenDlcBrandGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Delete an unverified brand registration","tags":["10DLC brands"],"x-required-permissions":["ten_dlc:write"]},"get":{"description":"Returns the redacted registration record for brandId within the selected organization. Use this representation to inspect registration state; it does not return every sensitive field originally submitted when the brand was registered. Supply organization_id for the organization that owns the registration.","operationId":"getTenDlcBrand","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandResponse"}}},"description":"The redacted brand.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"Get a redacted brand","tags":["10DLC brands"],"x-required-permissions":["ten_dlc:read"]},"patch":{"description":"Updates a brand. A PATCH containing only supportEmail commits synchronously. Registry-facing and mixed changes use a durable correction: the complete revised profile becomes active atomically once the registry applies it, and if registration then fails the brand reports action_required with that profile and its failureReasons. On a brand whose registration was not accepted, the same PATCH fixes and resubmits it; resubmitting unchanged details returns REGISTRATION_DETAILS_UNCHANGED. A brand's profile type is immutable.","operationId":"updateTenDlcBrand","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandResponse"}}},"description":"The updated brand after a local messaging-compliance-only change.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandResponse"}}},"description":"The redacted brand while its correction is in progress.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical resource to poll for completion.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before polling again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; REGISTRATION_DETAILS_UNCHANGED: Registration Details Unchanged","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; UNSUPPORTED_ENTITY_TYPE: Unsupported Entity Type; PHONE_NOT_SMS_CAPABLE: Phone Is Not SMS Capable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandTooManyRequestsProblem"}}},"description":"RATE_LIMITED: Too Many Requests; BRAND_VERIFICATION_RATE_LIMITED: Brand Verification Rate Limited","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcBrandGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Correct a brand","tags":["10DLC brands"],"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/brands/{brandId}/campaigns":{"post":{"description":"Creates a campaign for an organization-owned brand, charges the non-refundable registration amount, and submits automatically after brand verification and qualification. The selected use cases are immutable after submission. Replay a pending request with the same body and Idempotency-Key.","operationId":"createTenDlcCampaign","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}},{"description":"Identifies one campaign mutation across retries. UUIDs are recommended.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":8,"pattern":"^[!-~]{8,128}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignResponse"}}},"description":"The request is awaiting registration settlement, or the campaign has started submission.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical campaign URL.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum seconds to wait before replaying a pending request.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignPaymentRequiredProblem"}}},"description":"CAMPAIGN_REGISTRATION_PAYMENT_FAILED: Campaign Registration Payment Failed; ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found; CAMPAIGN_NOT_FOUND: Campaign Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; INVALID_CAMPAIGN_STATE: Invalid Campaign State; CAMPAIGN_REGISTRATION_UNAVAILABLE: Campaign Registration Unavailable; PROMOTION_CODE_REJECTED: Promotion Code Rejected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; CAMPAIGN_VALIDATION_FAILED: Campaign Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateTenDlcCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Register a campaign","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/brands/{brandId}/otp":{"get":{"description":"Returns the redacted one-time-password verification state for an organization-owned brand. OTP verification applies only to sole-proprietor brands. Reading this endpoint does not request another code or verify a supplied code; use the trigger and verification operations for those actions. Supply organization_id for the organization that owns the registration.","operationId":"getTenDlcBrandOtp","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandOtpResponse"}}},"description":"The redacted OTP status.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandOtpForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandOtpInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandOtpServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcBrandOtpGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"Get sole-proprietor OTP status","tags":["10DLC brand OTP"],"x-required-permissions":["ten_dlc:read"]},"post":{"description":"Requests delivery of a verification code for an organization-owned sole-proprietor brand. A 202 response acknowledges the delivery request and does not mean the brand has been verified. Inspect the OTP status and submit the received code through verifyTenDlcBrandOtp. Requests may be rate limited. Supply the required Idempotency-Key header. Supply organization_id for the organization that owns the registration.","operationId":"triggerTenDlcBrandOtp","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpResponse"}}},"description":"OTP delivery was accepted.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical resource to poll for completion.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before polling again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; UNSUPPORTED_ENTITY_TYPE: Unsupported Entity Type; PHONE_NOT_SMS_CAPABLE: Phone Is Not SMS Capable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpTooManyRequestsProblem"}}},"description":"RATE_LIMITED: Too Many Requests; OTP_RATE_LIMITED: OTP Rate Limited","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TriggerTenDlcBrandOtpGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Trigger sole-proprietor OTP","tags":["10DLC brand OTP"],"x-required-permissions":["ten_dlc:write"]},"put":{"description":"Submits otpPin for the selected organization-owned sole-proprietor brand and returns its updated, redacted verification state. A rejected code, a locked verification flow, or rate limiting is reported as an error; read the current OTP status before deciding whether to request another code. Supply the required Idempotency-Key header. Supply organization_id for the organization that owns the registration.","operationId":"verifyTenDlcBrandOtp","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"brandId","required":true,"schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpResponse"}}},"description":"The updated redacted OTP status.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BrandNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; OTP_LOCKED: OTP Locked","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; UNSUPPORTED_ENTITY_TYPE: Unsupported Entity Type; PHONE_NOT_SMS_CAPABLE: Phone Is Not SMS Capable; OTP_VERIFICATION_REJECTED: OTP Verification Rejected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpTooManyRequestsProblem"}}},"description":"RATE_LIMITED: Too Many Requests; OTP_RATE_LIMITED: OTP Rate Limited","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VerifyTenDlcBrandOtpGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Verify sole-proprietor OTP","tags":["10DLC brand OTP"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/campaign-use-cases":{"get":{"description":"Returns the selectable messaging purposes and the allowed selection count. Campaign registration types are derived automatically from the brand profile and selected purposes.","operationId":"listTenDlcCampaignUseCases","parameters":[{"in":"path","name":"organization_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignUseCasesResponse"}}},"description":"The current campaign use-case catalog.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignUseCasesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignUseCasesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignUseCasesServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignUseCasesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"List campaign use cases","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:read"]}},"/v1/organizations/{organization_id}/10dlc/campaigns":{"get":{"description":"Lists 10DLC campaigns visible within the selected organization. Filter by brandId, status or useCases and navigate the cursor-paginated result using cursor and limit. The result describes campaign registration state; listing a campaign does not submit or modify it. Supply organization_id for the organization that owns the registration.","operationId":"listTenDlcCampaigns","parameters":[{"in":"query","name":"brandId","schema":{"pattern":"^pho_brd_[0-9a-z]{26}$","type":"string"}},{"in":"query","name":"cursor","schema":{"maxLength":2048,"minLength":1,"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Filter by overall campaign status.","in":"query","name":"status","schema":{"enum":["awaiting_brand_verification","awaiting_brand_qualification","submitting","reviewing","activating","ready","action_required","support_required","suspended","expired"],"type":"string"}},{"in":"query","name":"useCases","schema":{"type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignsResponse"}}},"description":"A cursor-paginated campaign page.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignsServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"List campaigns","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:read"]}},"/v1/organizations/{organization_id}/10dlc/campaigns/{campaignId}":{"get":{"description":"Returns the registration record and current state of campaignId within the selected organization. This is the read operation for observing a campaign after registration or correction; a successful read does not itself indicate that registration has been approved. Supply organization_id for the organization that owns the registration.","operationId":"getTenDlcCampaign","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"pattern":"^pho_cmp_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignResponse"}}},"description":"The campaign.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CampaignNotFoundProblem"}}},"description":"CAMPAIGN_NOT_FOUND: Campaign Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"Get a campaign","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:read"]},"patch":{"description":"Updates campaign fields selected by updateMask, guarded by etag. Name changes are local and allowed in every state. Eligible rejected campaigns save content locally until resubmit. Ready campaigns allow asynchronous sample changes. Other states lock campaign content.","operationId":"updateTenDlcCampaign","parameters":[{"description":"Identifies one campaign mutation across retries. UUIDs are recommended.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":8,"pattern":"^[!-~]{8,128}$","type":"string"}},{"in":"path","name":"campaignId","required":true,"schema":{"pattern":"^pho_cmp_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignResponse"}}},"description":"The campaign after a local save or a completed sample update.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignResponse"}}},"description":"The revised samples were accepted and are being applied at the registry. The campaign stays live on its current samples until they are.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical campaign URL.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum seconds to wait before replaying a pending request.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CampaignRegistrationPaymentFailedProblem"}}},"description":"CAMPAIGN_REGISTRATION_PAYMENT_FAILED: Campaign Registration Payment Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found; CAMPAIGN_NOT_FOUND: Campaign Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; INVALID_CAMPAIGN_STATE: Invalid Campaign State; CAMPAIGN_REGISTRATION_UNAVAILABLE: Campaign Registration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; CAMPAIGN_VALIDATION_FAILED: Campaign Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateTenDlcCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Update a campaign","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/campaigns/{campaignId}/resubmit":{"post":{"description":"Resubmits saved campaign corrections, with an optional appeal explanation. An explanation is required when content has not changed. Each accepted resubmission incurs the existing non-refundable registration amount. Replay pending requests with the same body and Idempotency-Key.","operationId":"resubmitTenDlcCampaign","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"pattern":"^pho_cmp_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}},{"description":"Identifies one campaign mutation across retries. UUIDs are recommended.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":8,"pattern":"^[!-~]{8,128}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignResponse"}}},"description":"The resubmission is awaiting registration settlement, or a campaign snapshot is available.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical campaign URL.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum seconds to wait before replaying a pending request.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignPaymentRequiredProblem"}}},"description":"CAMPAIGN_REGISTRATION_PAYMENT_FAILED: Campaign Registration Payment Failed; ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignNotFoundProblem"}}},"description":"BRAND_NOT_FOUND: Brand Not Found; CAMPAIGN_NOT_FOUND: Campaign Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignConflictProblem"}}},"description":"IDEMPOTENCY_CONFLICT: Idempotency Conflict; INVALID_LIFECYCLE_STATE: Invalid Lifecycle State; ORGANIZATION_CLOSING: Organization is closing; INVALID_CAMPAIGN_STATE: Invalid Campaign State; CAMPAIGN_REGISTRATION_UNAVAILABLE: Campaign Registration Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; CAMPAIGN_VALIDATION_FAILED: Campaign Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResubmitTenDlcCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:write"]}],"summary":"Resubmit a rejected campaign","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:write"]}},"/v1/organizations/{organization_id}/10dlc/campaigns/{campaignId}/review-history":{"get":{"description":"Returns observed review-state changes for an organization-owned campaign, ordered newest first. Navigate the result with pageSize and pageToken. The history records changes already observed by Photon; it does not initiate a new review or resubmit the campaign. Supply organization_id for the organization that owns the registration.","operationId":"listTenDlcCampaignReviewHistory","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"pattern":"^pho_cmp_[0-9a-z]{26}$","type":"string"}},{"in":"path","name":"organization_id","required":true,"schema":{"pattern":"^pho_org_[0-9a-z]{26}$","type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"maxLength":2048,"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignReviewHistoryResponse"}}},"description":"A page of observed campaign review changes, newest first.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignReviewHistoryForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CampaignNotFoundProblem"}}},"description":"CAMPAIGN_NOT_FOUND: Campaign Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignReviewHistoryInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignReviewHistoryServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListTenDlcCampaignReviewHistoryGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"List campaign review history","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:read"]}},"/v1/organizations/{organization_id}/10dlc/fees":{"get":{"description":"Returns what registering a campaign bills the selected organization: the non-refundable registration fee, charged again on every resubmission, and the monthly fee each campaign bills from carrier approval. Amounts are list prices read from billing; tax is not included. Show them before creating or resubmitting a campaign.","operationId":"getTenDlcCampaignFees","parameters":[{"in":"path","name":"organization_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignFeesResponse"}}},"description":"The campaign fees for the organization.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignFeesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CampaignFeesUnavailableProblem"}}},"description":"CAMPAIGN_FEES_UNAVAILABLE: Campaign Fees Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignFeesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ServiceFailureProblem"}}},"description":"SERVICE_FAILURE: Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignFeesServiceUnavailableProblem"}}},"description":"SERVICE_UNAVAILABLE: Service Temporarily Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetTenDlcCampaignFeesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; SERVICE_TIMEOUT: Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]},{"oauth2":["ten_dlc:read"]}],"summary":"Get campaign fees","tags":["10DLC campaigns"],"x-required-permissions":["ten_dlc:read"]}},"/v1/projects/{id}/attachments":{"get":{"description":"Lists the Project's Attachment metadata, with optional time filters. An Attachment can be absent until its upload finishes, which advances its updatedAt; follow changes with updatedSince.","operationId":"listAttachments","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Direction along orderBy; desc, the default, is newest first","in":"query","name":"order","schema":{"$ref":"#/components/schemas/SortOrder"}},{"description":"Sort timestamp; defaults to the filtered timestamp, otherwise created_at. Must match the time bounds.","in":"query","name":"orderBy","schema":{"$ref":"#/components/schemas/TimestampOrderBy"}},{"description":"Items per page. A value above 100 returns at most 100 items.","in":"query","name":"pageSize","schema":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},{"description":"Token from nextPageToken. Keep the same Project and query.","in":"query","name":"pageToken","schema":{"maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentPage"}}},"description":"A page of Project Attachments in the requested order.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAttachmentsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAttachmentsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListAttachmentsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List attachments","tags":["Attachments"],"x-required-permissions":["project:read"]},"post":{"description":"Uploads a file and returns its Attachment once ready to download.","operationId":"uploadAttachment","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"content-length","required":true,"schema":{"pattern":"^[1-9][0-9]*$","type":"string"}},{"in":"header","name":"content-type","required":true,"schema":{"maxLength":512,"type":"string"}},{"description":"Reuse the same key and request for retries.","in":"header","name":"idempotency-key","required":true,"schema":{"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"multipart/related":{"schema":{"format":"binary","type":"string"}}},"description":"Exactly two parts: JSON with contentType, sizeBytes, and optional filename and metadata, followed by the file bytes. sizeBytes must match the file length.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}},"description":"The attachment upload had already been committed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}},"description":"The attachment was uploaded and committed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical resource URL of the Attachment.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentBadRequestProblem"}}},"description":"HTTP_ERROR: Request Failed; INVALID_ATTACHMENT_REQUEST: Invalid Attachment Request","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentConflictProblem"}}},"description":"ATTACHMENT_CONFLICT: Attachment Conflict; ATTACHMENT_UPLOAD_NOT_READY: Attachment Upload Not Ready","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Upload attachment","tags":["Attachments"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:write"]}},"/v1/projects/{id}/attachments/{attachmentId}":{"get":{"description":"Returns an Attachment's metadata. Use the content endpoint to download its bytes. If its metadata is unavailable after ten seconds, returns ATTACHMENT_NOT_READY with Retry-After: 5.","operationId":"getAttachment","parameters":[{"in":"path","name":"attachmentId","required":true,"schema":{"pattern":"^pho_att_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}},"description":"The Attachment resource.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAttachmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AttachmentNotFoundProblem"}}},"description":"ATTACHMENT_NOT_FOUND: Attachment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AttachmentNotReadyProblem"}}},"description":"ATTACHMENT_NOT_READY: Attachment Not Ready","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Seconds to wait before retrying the request.","schema":{"$ref":"#/components/schemas/AttachmentNotReadyRetryAfter"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAttachmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAttachmentGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get attachment","tags":["Attachments"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/attachments/{attachmentId}/content":{"get":{"description":"Downloads an Attachment's bytes. If unavailable after ten seconds, returns ATTACHMENT_NOT_READY with Retry-After: 5.","operationId":"downloadAttachment","parameters":[{"in":"path","name":"attachmentId","required":true,"schema":{"pattern":"^pho_att_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentResponse"}}},"description":"The Attachment's raw file bytes. Content-Type identifies the media type of the response.","headers":{"Content-Disposition":{"description":"Attachment disposition using the filename declared during upload.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AttachmentNotFoundProblem"}}},"description":"ATTACHMENT_NOT_FOUND: Attachment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AttachmentNotReadyProblem"}}},"description":"ATTACHMENT_NOT_READY: Attachment Not Ready","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Seconds to wait before retrying the request.","schema":{"$ref":"#/components/schemas/AttachmentNotReadyRetryAfter"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Download attachment","tags":["Attachments"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:read"]}},"/v1/projects/{id}/messages":{"get":{"description":"Lists the Project's Messages, with optional resource, conversation, and time filters. Results are eventually consistent.","operationId":"listMessages","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Message origin: received or dispatched, including later delivery outcomes","in":"query","name":"direction","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated content types to exclude from resource-scoped Message lists and counts. Requires resourceId. A group is excluded when group is selected or all of its parts are excluded; retained Messages are unchanged. Supported values: attachment, group, message.delete, message.read, message.update, poll, poll.update, poll.vote, reaction, space.background.update, space.participants.update, space.profile.share, space.typing.update, text, voice.","in":"query","name":"excludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Direction along orderBy; desc, the default, is newest first","in":"query","name":"order","schema":{"$ref":"#/components/schemas/SortOrder"}},{"description":"Sort timestamp; defaults to the filtered timestamp, otherwise created_at. Must match the time bounds.","in":"query","name":"orderBy","schema":{"$ref":"#/components/schemas/TimestampOrderBy"}},{"description":"Items per page. A value above 200 returns at most 200 items.","in":"query","name":"pageSize","schema":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},{"description":"Token from nextPageToken. Keep the same Project and query.","in":"query","name":"pageToken","schema":{"maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},{"description":"Selects this User's sent or received Messages. Requires spaceId; cannot combine with resourceId.","in":"query","name":"perspectiveUserId","schema":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Resource associated with the Message when sent or received. Can combine with spaceId, but not perspectiveUserId.","in":"query","name":"resourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Requires resourceId or perspectiveUserId. User perspectives use created_at order and exclude time bounds and platform filters.","in":"query","name":"spaceId","schema":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagePage"}}},"description":"A page of Messages in the requested order.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Message representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Message representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidPageTokenProblem"}}},"description":"INVALID_PAGE_TOKEN: Invalid Page Token","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListMessagesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListMessagesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListMessagesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List Messages","tags":["Messages"],"x-required-permissions":["project:read"]},"post":{"description":"Sends SMS, email, WhatsApp Personal, WhatsApp Business, iMessage, or Telegram text and image messages. A shared iMessage line sends only in direct Spaces, only to a peer with an active Assignment who has messaged it since that Assignment. SMS and MMS require current Platforms authorization for the sender and every recipient; campaign eligibility is required unless every recipient is in-network.","operationId":"sendMessage","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentMessage"}}},"description":"The Message was persisted for asynchronous delivery. Idempotent-Replayed indicates that this request reused an existing Message.","headers":{"Cache-Control":{"description":"Prevents storage of the send response.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"description":"True when the idempotency key replayed an existing Message.","schema":{"$ref":"#/components/schemas/IdempotentReplayedValue"}},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidRequestProblem"}}},"description":"INVALID_REQUEST: Invalid Request","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingSuspendedProblem"}}},"description":"BILLING_SUSPENDED: Billing Suspended","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch; SHARED_LINE_NOT_ASSIGNED: Shared Line Not Assigned; SHARED_LINE_INBOUND_REQUIRED: Shared Line Inbound Required\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageNotFoundProblem"}}},"description":"SPACE_NOT_FOUND: Space Not Found; MESSAGE_NOT_FOUND: Message Not Found; ATTACHMENT_NOT_FOUND: Attachment Not Found; SENDER_NOT_FOUND: Sender Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageConflictProblem"}}},"description":"ATTACHMENT_NOT_READY: Attachment Not Ready; SENDER_NOT_SENDABLE: Sender Not Sendable; SMS_CAMPAIGN_NOT_ELIGIBLE: SMS Campaign Not Eligible; EMAIL_ADMISSION_ENDED: Email Admission Ended; SPACE_NOT_SENDABLE: Space Not Sendable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageUnprocessableEntityProblem"}}},"description":"EMAIL_RECIPIENT_SUPPRESSED: Email Recipient Suppressed; OPERATION_UNAVAILABLE: Operation Unavailable; SHARED_LINE_GROUP_UNSUPPORTED: Shared Line Group Unsupported; VALIDATION_FAILED: Request Validation Failed; INVALID_CONTENT: Invalid Content; UNSUPPORTED_CONTENT: Unsupported Content; MESSAGE_TOO_LONG: Message Too Long; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SendMessageGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Send a Message","tags":["Messages"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/messages/count":{"get":{"description":"Counts matching Messages before pagination. Delivery updates do not add Messages; results are eventually consistent.","operationId":"countMessages","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Message origin: received or dispatched, including later delivery outcomes","in":"query","name":"direction","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated content types to exclude from resource-scoped Message lists and counts. Requires resourceId. A group is excluded when group is selected or all of its parts are excluded; retained Messages are unchanged. Supported values: attachment, group, message.delete, message.read, message.update, poll, poll.update, poll.vote, reaction, space.background.update, space.participants.update, space.profile.share, space.typing.update, text, voice.","in":"query","name":"excludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Selects this User's sent or received Messages. Requires spaceId; cannot combine with resourceId.","in":"query","name":"perspectiveUserId","schema":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Resource associated with the Message when sent or received. Can combine with spaceId, but not perspectiveUserId.","in":"query","name":"resourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Requires resourceId or perspectiveUserId. User perspectives use created_at order and exclude time bounds and platform filters.","in":"query","name":"spaceId","schema":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Calendar-day counts by Message.createdAt","in":"query","name":"interval","schema":{"const":"day","type":"string"}},{"description":"IANA zone for calendar-day buckets; defaults to UTC; requires interval","in":"query","name":"timeZone","schema":{"maxLength":100,"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountMessagesResponse"}}},"description":"Matching Message count, optional direction groups and daily buckets","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountMessagesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountMessagesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountMessagesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Count Messages","tags":["Messages"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/messages/{messageId}":{"get":{"description":"Returns one stored Message by canonical Photon Message ID on any supported contract platform. The globally unique Message ID is resolved within the authorized Project. Unsupported platform Messages are outside this collection and return MESSAGE_NOT_FOUND.","operationId":"getMessage","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"pattern":"^pho_msg_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"if-none-match","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformMessage"}}},"description":"The requested Message.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Message representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Message representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The request's If-None-Match validator matches the current representation.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Message representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Message representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMessageForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MessageNotFoundProblem"}}},"description":"MESSAGE_NOT_FOUND: Message Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMessageInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMessageGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get a Message","tags":["Messages"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/messages/{messageId}/read":{"post":{"description":"Persists a request to mark one incoming Message as read using its receiving account. A 202 means accepted for asynchronous execution, not handled by the provider. Requires Idempotency-Key. The returned action Message tracks its outcome; privacy settings may suppress remote visibility.","operationId":"markMessageRead","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"pattern":"^pho_msg_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadResponse"}}},"description":"The read request was persisted for execution.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidRequestProblem"}}},"description":"INVALID_REQUEST: Invalid Request","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadNotFoundProblem"}}},"description":"SENDER_NOT_FOUND: Sender Not Found; SPACE_NOT_FOUND: Space Not Found; MESSAGE_NOT_FOUND: Message Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadConflictProblem"}}},"description":"SENDER_NOT_SENDABLE: Sender Not Sendable; SPACE_NOT_SENDABLE: Space Not Sendable; MESSAGE_NOT_READABLE: Message Not Readable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadUnprocessableEntityProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MarkMessageReadGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:write"]}],"summary":"Mark a Message as read","tags":["Messages"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/platforms":{"get":{"description":"Lists the platform types available to this project. Every project currently sees the same fixed public contract, answered in-process rather than forwarded, so the list survives an outage of the private service. The project binding exists so that answer can narrow per project without moving the route. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listProjectPlatforms","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectPlatformsResponse"}}},"description":"Every platform type available to the project.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectPlatformsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectPlatformsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List project platforms","tags":["Platforms"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/email/domains":{"post":{"description":"Reserves a normalized DNS domain and starts its durable email-provider setup. The accepted provision consumes one email-domain entitlement slot until it fails, is cancelled, or becomes a live resource; the plan's email.max_email_domains value sets the project limit. The customer resource does not exist until provider identity and DNS setup reach READY; poll the returned operation for progress. A domain may have only one unfinished provision or live resource globally. Email domains have no additional per-domain charge. The Idempotency-Key is required and permanent: replaying the same key and canonical domain returns the original operation forever. Requires the platforms:write permission bound to the project resource in the path. If the operation fails, its `error` is the problem of one of these codes: `EMAIL_DOMAIN_PROVIDER_REJECTED`, `EMAIL_DOMAIN_VERIFICATION_FAILED`, `EMAIL_DOMAIN_VERIFICATION_TIMED_OUT`, `EMAIL_TENANT_SETUP_TIMED_OUT`.","operationId":"connectEmailDomain","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The domain was reserved and setup was dispatched. GET the Location after the Retry-After interval until the operation is terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; EMAIL_DOMAIN_ALREADY_CONNECTED: Email Domain Already Connected; EMAIL_DOMAIN_CAP_EXCEEDED: Email Domain Cap Exceeded","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectEmailDomainGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Connect email domain","tags":["Email domains"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/email/domains/{resourceId}/dmarc":{"get":{"description":"Reads stored DMARC policy diagnostics for a v2 Email domain. Checking queues a bounded DNS observation; it never edits DNS or changes sending permissions. Missing, malformed, multiple and unavailable are distinct. A valid record does not prove any individual message passes DMARC. p=none monitors only. Records may be inherited; existing policies must not be overwritten. Domain Connect is optional.","operationId":"getEmailDmarc","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEmailDmarcResponse"}}},"description":"Stored diagnostics; pending or stale remains explicit.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDmarcForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDmarcInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDmarcGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get DMARC diagnostics","tags":["Email domains"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/email/domains/{resourceId}/dmarc/check":{"post":{"description":"Reads stored DMARC policy diagnostics for a v2 Email domain. Checking queues a bounded DNS observation; it never edits DNS or changes sending permissions. Missing, malformed, multiple and unavailable are distinct. A valid record does not prove any individual message passes DMARC. p=none monitors only. Records may be inherited; existing policies must not be overwritten. Domain Connect is optional.","operationId":"checkEmailDmarc","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailDmarcResponse"}}},"description":"Stored diagnostics; pending or stale remains explicit.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckEmailDmarcForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckEmailDmarcInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckEmailDmarcGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Request a DMARC DNS check","tags":["Email domains"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/email/metrics":{"get":{"description":"Reads cached supplementary email series for the exact Project and rolling day or week. Coverage is eligible single-recipient messages; multi-recipient and simulator traffic is excluded. Observed complaints include reported feedback only. Missing data is distinct from zero. Original timestamps and availability are preserved; freshness describes retrieval, not complete event coverage. These series are not complete recipient totals, billing totals or Photon reputation rates. This read never queries the delivery provider or authorizes sending. Requires platforms:read for the path Project.","operationId":"getEmailDeliveryMetrics","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"period","schema":{"default":"day","enum":["day","week"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliveryMetrics"}}},"description":"Cached supplementary metrics with explicit coverage and freshness.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDeliveryMetricsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDeliveryMetricsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailDeliveryMetricsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get email delivery metrics","tags":["Email"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/email/recommendations":{"get":{"description":"Reads Photon guidance from stored sending policies, sending setup and domain checks. Project and Organization restrictions repeat on each page of domain observations. Follow nextPageToken until hasMore is false; observations describe only the current page. Recommendations are advisory reads, never permission to send or resume. Reputation-rate guidance and supplementary delivery advice are explicitly unavailable until their sources are integrated. An empty list does not indicate healthy reputation or resolved findings. Requires platforms:read for the path Project.","operationId":"listEmailRecommendations","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"maxLength":8192,"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailRecommendations"}}},"description":"Scoped recommendations and explicit observation coverage.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListEmailRecommendationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListEmailRecommendationsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListEmailRecommendationsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List email recommendations","tags":["Email"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/email/sending-policy":{"get":{"description":"Reads Organization email recipient allowances shared across all its Projects, with rolling 60-second and 24-hour windows. Also returns Project and Organization review status and Photon policy pauses. Projects have no separate recipient quota. These limits are independent of subscription allowances. A policy pause blocks sending; an unpaused policy does not guarantee that every domain, suppression or account check permits a send. Requires platforms:read for the path Project.","operationId":"getEmailSendingPolicies","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSendingPolicies"}}},"description":"The Project and Organization sending policies.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailSendingPoliciesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailSendingPoliciesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetEmailSendingPoliciesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get email sending policies","tags":["Email"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/filtered-otp":{"get":{"description":"Lists the verification codes Photon kept from this project's dedicated lines. Inbound messages that carry a one-time code are filtered before delivery; this is the record that they arrived, so a quiet line can be told apart from a broken one. It records the receiving line, its platform and when the code arrived — never the code itself. Each entry names the dedicated line (`resourceId`) that received it. Newest first, within an optional inclusive `receivedAfter`/`receivedBefore` window. A page may hold fewer than `pageSize` entries and still return a `nextPageToken`; only its absence means the end. Filter by `platform`; to read one line, use its own filtered-otp path. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listFilteredVerificationCodes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","schema":{"$ref":"#/components/schemas/FilteredVerificationCodePlatform"}},{"in":"query","name":"receivedAfter","schema":{"example":"2026-09-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"receivedBefore","schema":{"example":"2026-10-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredVerificationCodePage"}}},"description":"A page of filtered verification codes, newest first.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListFilteredVerificationCodesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListFilteredVerificationCodesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListFilteredVerificationCodesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List filtered verification codes","tags":["Verification codes"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/filtered-otp/count":{"get":{"description":"Counts the verification codes Photon kept from this project's dedicated lines, optionally for one `platform`. Without `receivedAfter` and `receivedBefore` the window is the 30 days before the request; a window longer than 366 days is rejected. The response echoes the window it resolved, so the number always says which period it covers. Requires the platforms:read permission bound to the project resource in the path.","operationId":"countFilteredVerificationCodes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","schema":{"$ref":"#/components/schemas/FilteredVerificationCodePlatform"}},{"in":"query","name":"receivedAfter","schema":{"example":"2026-09-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"receivedBefore","schema":{"example":"2026-10-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredVerificationCodeCount"}}},"description":"How many codes were filtered in the resolved window.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountFilteredVerificationCodesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountFilteredVerificationCodesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountFilteredVerificationCodesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Count filtered verification codes","tags":["Verification codes"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/imessage":{"get":{"description":"Reports whether the project is on shared or dedicated iMessage lines, derived from its billing entitlements. Shared mode carries the seat cap. Both say whether a dedicated line requested now would be assigned without waiting. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getProjectImessagePlatform","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPlatformSettings"}}},"description":"The project's iMessage line mode.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectImessagePlatformForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectImessagePlatformInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectImessagePlatformServiceUnavailableProblem"}}},"description":"BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending; UPSTREAM_UNAVAILABLE: Upstream Service Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectImessagePlatformGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get project iMessage platform","tags":["Platforms"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/imessage/assignments":{"get":{"description":"Lists the project's shared line assignments, oldest first. Released assignments are excluded unless includeReleased is set. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listSharedLineAssignments","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"includeReleased","schema":{"type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignmentPage"}}},"description":"A page of shared line assignments.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSharedLineAssignmentsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSharedLineAssignmentsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSharedLineAssignmentsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List shared line assignments","tags":["Shared line assignments"],"x-required-permissions":["platforms:read"]},"post":{"description":"Maps an end user's iMessage handle — an E.164 phone number or an email address — onto one of the project's pooled shared iMessage lines, consuming a seat from the project's entitlement. The assigned number is allocated by the server. When an email address is supplied in `email` the user is sent an invite asynchronously to that address; it is never inferred from the handle, and the response never reports whether the send succeeded. Requires the platforms:write permission bound to the project resource in the path.","operationId":"createSharedLineAssignment","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The created shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; IMESSAGE_MODE_DEDICATED: iMessage Mode Is Dedicated; SHARED_LINE_CAP_EXCEEDED: Shared Line Cap Exceeded; ASSIGNMENT_EXISTS: Assignment Exists","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending; SHARED_LINE_POOL_EXHAUSTED: Shared Line Pool Exhausted\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create shared line assignment","tags":["Shared line assignments"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/imessage/assignments/{assignmentId}":{"delete":{"description":"Releases a shared line assignment, freeing both its seat and its handle for reassignment. The row is retained for audit and returned with releasedAt set, so repeating the call is safe. Requires the platforms:write permission bound to the project resource in the path.","operationId":"releaseSharedLineAssignment","parameters":[{"in":"path","name":"assignmentId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The released shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignmentNotFoundProblem"}}},"description":"ASSIGNMENT_NOT_FOUND: Assignment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Release shared line assignment","tags":["Shared line assignments"],"x-required-permissions":["platforms:write"]},"get":{"description":"Reads one shared line assignment. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getSharedLineAssignment","parameters":[{"in":"path","name":"assignmentId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignmentNotFoundProblem"}}},"description":"ASSIGNMENT_NOT_FOUND: Assignment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get shared line assignment","tags":["Shared line assignments"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/imessage/dedicated":{"post":{"description":"Claims one dedicated iMessage line for the project and enables iMessage on it. Always answers 202 with an operation: dedicated lines are allocated from available capacity, and unavailable capacity causes a wait rather than a failure — this can legitimately stay `running` for hours, which is exactly why the response is a handle to poll rather than a number. The project's messaging subscription must grant the dedicated iMessage lines entitlement (`imessage_dedicated_lines.can_purchase`), and that is checked before capacity is reserved. The line's own charge starts when a line is claimed; the subscription that grants the entitlement bills on its own terms, which cancelling a request does not change. Waiting requests are served first come, first served. One that is still waiting is cancelled with a `reason` if the project is deleted (`project_deleted`) or its plan stops selling dedicated lines (`entitlement_lost`); while the payer is restricted for overdue payment it keeps waiting. If you no longer want to wait, POST to the operation's cancel endpoint, which charges nothing for the line. The Idempotency-Key is required and permanent: repeating it returns the same operation forever. A further line always needs a NEW key, including while others are still waiting. An optional promotionCode is checked and claimed here, before the request waits for a line: a code that can't be used answers 409 PROMOTION_CODE_REJECTED and starts nothing. Requires the platforms:write permission bound to the project resource in the path. If the operation fails, its `error` is the problem of one of these codes: `CHARGE_REFUSED`, `ENTERPRISE_PLAN_REQUIRED`.","operationId":"provisionImessageDedicatedLine","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The provision was accepted and is running. GET the Location after the Retry-After interval until `state` is terminal; the response there carries the line once one is claimed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLinePaymentRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required; ENTERPRISE_PLAN_REQUIRED: Enterprise Plan Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineConflictProblem"}}},"description":"PROMOTION_CODE_REJECTED: Promotion Code Rejected; PROJECT_CLOSING: Project Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionImessageDedicatedLineGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Provision dedicated iMessage line","tags":["Dedicated iMessage lines"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/imessage/dedicated/{resourceId}":{"delete":{"description":"Removes only iMessage from one dedicated line. Shared Voice is removed only when WhatsApp is absent; if WhatsApp remains, Voice, the resource, ownership, and phone number are preserved. Usually finishes inside this request and answers 200; a slow workflow answers 202 with an operation to poll. Takes no Idempotency-Key because the open iMessage charge period identifies this product tenure. If the operation fails, its `error` is the problem of one of these codes: `RESOURCE_NOT_FOUND`.","operationId":"releaseImessageDedicatedLine","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The iMessage product and its charge period were removed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The removal is still running. GET the Location after the Retry-After interval.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseImessageDedicatedLineForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseImessageDedicatedLineInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseImessageDedicatedLineGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Release dedicated iMessage line","tags":["Dedicated iMessage lines"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/imessage/lines/{resourceId}/profile":{"get":{"description":"Reads the dedicated line's confirmed contact-profile configuration. Pending changes are not exposed. Project mode resolves the Projects agent identity; custom mode returns the line's own names and pictureUrl; none resolves to null. Requires platforms:read bound to the path project.","operationId":"getImessageLineContactProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageLineContactProfile"}}},"description":"The line contact profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetImessageLineContactProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetImessageLineContactProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetImessageLineContactProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get iMessage line contact profile","tags":["iMessage"],"x-required-permissions":["platforms:read"]},"put":{"description":"Changes the line's mode and custom names when expectedVersion matches. Custom mode needs a first or last name; an omitted name becomes null. Staying custom keeps the picture; entering custom starts without one. Project and none remove custom names and picture. None deletes the native profile. Returns 200 after confirmation and commit, 202 while pending, or a problem on failure. Repeat the same request with the same Idempotency-Key after Retry-After to await the result, including after a lost response. Results are retained for 24 hours; key replay precedes version validation. A different change while one is pending returns 409. Requires platforms:write bound to the path project.","operationId":"setImessageLineContactProfile","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageLineContactProfile"}}},"description":"The confirmed line contact profile, or the stored successful result of this request.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageContactProfilePending"}}},"description":"The change is still pending. Repeat the same request with the same Idempotency-Key after Retry-After to await its result.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before repeating the same request with the same Idempotency-Key.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; IMESSAGE_CONTACT_PROFILE_VERSION_CONFLICT: iMessage Contact Profile Version Conflict; IMESSAGE_CONTACT_PROFILE_CHANGE_IN_PROGRESS: iMessage Contact Profile Change In Progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetImessageLineContactProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Set iMessage line contact profile","tags":["iMessage"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/imessage/lines/{resourceId}/profile/profile-picture":{"delete":{"description":"Removes the custom profile picture and keeps the names when expectedVersion matches. An identical configuration keeps its version after verification. Returns 200 after confirmation and commit, 202 while pending, or a problem on failure. Repeat the same request with the same Idempotency-Key after Retry-After to await the result. Results are retained for 24 hours; key replay precedes version validation. A different change while one is pending returns 409. Requires platforms:write bound to the path project.","operationId":"removeImessageContactProfilePicture","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageLineContactProfile"}}},"description":"The confirmed line contact profile, or the stored successful result of this request.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageContactProfilePending"}}},"description":"The change is still pending. Repeat the same request with the same Idempotency-Key after Retry-After to await its result.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before repeating the same request with the same Idempotency-Key.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; IMESSAGE_CONTACT_PROFILE_VERSION_CONFLICT: iMessage Contact Profile Version Conflict; IMESSAGE_CONTACT_PROFILE_CHANGE_IN_PROGRESS: iMessage Contact Profile Change In Progress; IMESSAGE_CONTACT_PROFILE_NOT_CUSTOM: iMessage Contact Profile Not Custom","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RemoveImessageContactProfilePictureGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Remove iMessage contact profile picture","tags":["iMessage"],"x-required-permissions":["platforms:write"]},"put":{"description":"Validates an uploaded picture and changes the custom profile picture when expectedVersion matches. Returns 200 after confirmation and commit, 202 while pending, or a problem on failure. Repeat the same request with the same Idempotency-Key after Retry-After to await the result; replay does not consume the upload again. Results are retained for 24 hours; key replay precedes version validation. A different change while one is pending returns 409. Requires platforms:write bound to the path project.","operationId":"commitImessageContactProfilePicture","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageLineContactProfile"}}},"description":"The confirmed line contact profile, or the stored successful result of this request.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageContactProfilePending"}}},"description":"The change is still pending. Repeat the same request with the same Idempotency-Key after Retry-After to await its result.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before repeating the same request with the same Idempotency-Key.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; IMESSAGE_CONTACT_PROFILE_VERSION_CONFLICT: iMessage Contact Profile Version Conflict; IMESSAGE_CONTACT_PROFILE_CHANGE_IN_PROGRESS: iMessage Contact Profile Change In Progress; IMESSAGE_CONTACT_PROFILE_NOT_CUSTOM: iMessage Contact Profile Not Custom","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; IMESSAGE_CONTACT_PROFILE_PICTURE_INVALID: iMessage Contact Profile Picture Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitImessageContactProfilePictureGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Commit iMessage contact profile picture","tags":["iMessage"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/imessage/lines/{resourceId}/profile/profile-picture/uploads":{"post":{"description":"Creates a 10-minute presigned upload for a JPEG, PNG, or WebP profile picture of at most 5 MiB and 4096 pixels per side, bound to the line's active iMessage ability period. Works in every mode and changes nothing. Send the file as multipart/form-data to uploadUrl with every form field, without Photon credentials, then commit it with commitImessageContactProfilePicture. Requires platforms:write bound to the path project.","operationId":"createImessageContactProfilePictureUpload","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImessageContactProfilePictureUploadRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImessageContactProfilePictureUpload"}}},"description":"The presigned upload.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateImessageContactProfilePictureUploadForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectClosingProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateImessageContactProfilePictureUploadInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateImessageContactProfilePictureUploadGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create iMessage contact profile picture upload","tags":["iMessage"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/operations":{"get":{"description":"Lists the project's operations using the same operation representation as creation and GET. The API includes detail.setupUrl only with platforms:write for this project. Results are oldest first — every provision and release it has ever asked for, including the ones still running. This is the entire in-flight view: a resource only appears once it is real, so nothing half-built shows up in the resource list and nothing in flight is missing from this one. Filter by `resourceId` to get one resource's whole history, which for a pooled line is every tenure this project has had on it. `state` is comma-separated; `type` accepts one operation type and an absent filter means everything, including failed and cancelled operations. `endedAfter` keeps only operations that finished after that instant, so what failed or was withdrawn recently is one short page. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listOperations","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"endedAfter","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"resourceId","schema":{"type":"string"}},{"in":"query","name":"state","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"type","schema":{"$ref":"#/components/schemas/OperationType"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPage"}}},"description":"A page of the project's operations.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOperationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOperationsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOperationsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List operations","tags":["Operations"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/operations/{operationId}":{"get":{"description":"Reads one operation using the same operation representation as creation and list. The API includes detail.setupUrl only with platforms:write for this project. This is the polling endpoint every asynchronous request here points its Location at, and it resolves from the moment that request is accepted — an operation is committed before its work is dispatched, so there is no window in which the URL 404s. Poll until `state` is one of `succeeded`, `failed` or `cancelled`, pacing from the Retry-After the accepting response returned. While an email domain waits for DNS, `detail` always contains the manual records and may additionally contain `automaticSetup` with a signed provider URL to open separately. Once the operation has produced a resource, the response carries that resource too, so the poll that finishes is also the one that tells you what you got. `succeeded` means the work is done; billing runs behind it and is not something the caller waits on. Operations are never purged, so a 404 means the id was never this project's. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getOperation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOperationResponse"}}},"description":"The operation, and the resource it produced once one exists. Retry-After is supplied for pending/running campaign and Telegram operations and omitted once terminal.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOperationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OperationNotFoundProblem"}}},"description":"OPERATION_NOT_FOUND: Operation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOperationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetOperationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get operation","tags":["Operations"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/operations/{operationId}/cancel":{"post":{"description":"Withdraws a provision that has not been fulfilled yet. This is an operations action rather than a DELETE, because there is nothing to delete: no resource exists until the work commits. Whether it is accepted depends on the resource type — a dedicated iMessage line may sit waiting on inventory for hours and withdrawing costs nothing, while an SMS number is cancellable during inventory waiting and answers 409 once the workflow commits to its first provider order. Campaign assignment and detachment operations cannot be cancelled in any state. Wait for completion before requesting another change; that new change is not a guaranteed rollback. The output-only `cancellable` field is a snapshot; the cancellation transaction always checks the current phase under a row lock. A cancel that loses the race against the work finishing also answers 409: the resource exists and is billed for, so what you want then is to release it. Nothing is charged for a cancelled provision — billing runs after the work, so there is never anything to refund. Requires the platforms:write permission bound to the project resource in the path.","operationId":"cancelOperation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The cancelled operation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelOperationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OperationNotFoundProblem"}}},"description":"OPERATION_NOT_FOUND: Operation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OperationNotCancellableProblem"}}},"description":"OPERATION_NOT_CANCELLABLE: Operation Not Cancellable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelOperationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CancelOperationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Cancel operation","tags":["Operations"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/resources":{"get":{"description":"Lists the project's resources, oldest first, including retired ones unless `state` filters them out. Filter by `type`, by enabled `ability` and by comma-separated `state`. Lifecycle states are unallocated, active and retired; active means owned and non-retired, not provider-confirmed readiness. Every VoIP resource includes detail.activationState: activating or active, defaulting to active without owner-matched saved state. state=active includes numbers still activating. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listResources","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"ability","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}},{"description":"Comma-separated lifecycle states: unallocated, active or retired. active selects all owned, non-retired resources, including numbers whose detail.activationState is activating.","in":"query","name":"state","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"type","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcePage"}}},"description":"A page of the project's resources.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourcesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourcesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourcesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List resources","tags":["Resources"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/resources/{resourceId}":{"delete":{"description":"Gives one resource back, whatever it is. What that means is the resource's own business: an SMS number goes back to the provider and is retired, a dedicated iMessage line goes back to the shared pool and stays in existence for someone else to claim. Either way the provider is contacted first where there is one, then a single transaction disables every ability, ends the project's hold and closes the charge period — so a provider that refuses leaves the resource exactly as it was, still owned and still billed. A WhatsApp Business sender is the exception: Meta never holds its release. A number on a Photon VoIP line is deregistered as a best effort, tried up to three times, a second or two apart, only while the failure is temporary; a number the customer brought is not sent to Meta at all; the sender is retired either way, and the number stays in the customer's WhatsApp Business Account. Usually finishes inside this request and answers 200; if the provider is slow it answers 202 and the Location points at the operation to poll. The decrement runs behind the answer either way, so the resource is gone when you are told it is. Takes no Idempotency-Key — releasing the same resource twice is the same request. Releasing one that is already gone answers 404. Requires the platforms:write permission bound to the project resource in the path. If the operation fails, its `error` is the problem of one of these codes: `EMAIL_DOMAIN_RELEASE_FAILED`, `NUMBER_RELEASE_FAILED`, `RESOURCE_NOT_FOUND`, `TELEGRAM_RELEASE_FAILED`, `WHATSAPP_SENDER_RELEASE_FAILED`.","operationId":"releaseResource","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The release finished inside this request. The resource is gone.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The release is still running at the provider. GET the Location after the Retry-After interval; a terminal answer may arrive on any read.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseResourceForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseResourceConflictProblem"}}},"description":"WHATSAPP_SENDER_CONNECTED: WhatsApp Sender Connected; WHATSAPP_SENDER_PROVISIONING: WhatsApp Sender Provisioning","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseResourceInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseResourceGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Release resource","tags":["Resources"],"x-required-permissions":["platforms:write"]},"get":{"description":"Reads one resource the project holds. A released number stays readable and reads `retired`, because it remains part of this project's history. A dedicated line given back does NOT: returning it to inventory is what makes it claimable by someone else, so it answers 404 and the operation that returned it is the record that this project once held it. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getResource","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}},"description":"The resource.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetResourceForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetResourceInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetResourceGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get resource","tags":["Resources"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/resources/{resourceId}/filtered-otp":{"get":{"description":"Lists the verification codes Photon kept from one dedicated line. Inbound messages that carry a one-time code are filtered before delivery; this is the record that they arrived, so a quiet line can be told apart from a broken one. It records the receiving line, its platform and when the code arrived — never the code itself. Each entry names the dedicated line (`resourceId`) that received it. Newest first, within an optional inclusive `receivedAfter`/`receivedBefore` window. A page may hold fewer than `pageSize` entries and still return a `nextPageToken`; only its absence means the end. Answers 404 unless the project holds the resource now. Codes from an earlier tenure stay in the project-wide list. Filter by `platform` — a dedicated line receives both iMessage and WhatsApp. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listResourceFilteredVerificationCodes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","schema":{"$ref":"#/components/schemas/FilteredVerificationCodePlatform"}},{"in":"query","name":"receivedAfter","schema":{"example":"2026-09-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"receivedBefore","schema":{"example":"2026-10-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredVerificationCodePage"}}},"description":"A page of filtered verification codes, newest first.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourceFilteredVerificationCodesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourceFilteredVerificationCodesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListResourceFilteredVerificationCodesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List a line's filtered verification codes","tags":["Verification codes"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/resources/{resourceId}/filtered-otp/count":{"get":{"description":"Counts the verification codes Photon kept from one dedicated line. Without `receivedAfter` and `receivedBefore` the window is the 30 days before the request; a window longer than 366 days is rejected. The response echoes the window it resolved, so the number always says which period it covers. Answers 404 unless the project holds the resource now. Codes from an earlier tenure stay in the project-wide list. Filter by `platform` — a dedicated line receives both iMessage and WhatsApp. Requires the platforms:read permission bound to the project resource in the path.","operationId":"countResourceFilteredVerificationCodes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","schema":{"$ref":"#/components/schemas/FilteredVerificationCodePlatform"}},{"in":"query","name":"receivedAfter","schema":{"example":"2026-09-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"receivedBefore","schema":{"example":"2026-10-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredVerificationCodeCount"}}},"description":"How many codes were filtered in the resolved window.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountResourceFilteredVerificationCodesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountResourceFilteredVerificationCodesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountResourceFilteredVerificationCodesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Count a line's filtered verification codes","tags":["Verification codes"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/sms/lines/{resourceId}/campaign":{"delete":{"description":"Any project writer, including a scoped API key, may detach the campaign. The number and campaign remain owned. Requires a permanent Idempotency-Key and expectedVersion. Local eligibility is blocked immediately; provider detachment runs asynchronously. If the operation fails, its `error` is the problem of one of these codes: `SMS_CAMPAIGN_PROVIDER_REJECTED`, `SMS_CAMPAIGN_RECONCILIATION_REQUIRED`, `SMS_CAMPAIGN_REVOKED`.","operationId":"unassignSmsLineCampaign","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The original terminal operation on an authorized replay. No Retry-After is emitted.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Assignment accepted. Poll the operation Location until terminal.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignBadRequestProblem"}}},"description":"SMS_CAMPAIGN_INVALID_REQUEST: Invalid SMS campaign request; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch; SMS_CAMPAIGN_ORGANIZATION_MISMATCH: Campaign belongs to another organization\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignNotFoundProblem"}}},"description":"SMS_CAMPAIGN_NOT_FOUND: Campaign not found; SMS_LINE_NOT_FOUND: SMS line not found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; SMS_LINE_UNSUPPORTED: SMS line unsupported; SMS_CAMPAIGN_NOT_READY: Campaign not ready; SMS_CAMPAIGN_VERSION_CONFLICT: Assignment version conflict; SMS_CAMPAIGN_CAPACITY_EXCEEDED: Campaign number capacity exhausted; SMS_CAMPAIGN_RECONCILIATION_REQUIRED: Campaign reconciliation required; SMS_CAMPAIGN_MUTATION_IN_PROGRESS: Assignment mutation in progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; SMS_CAMPAIGN_CONTEXT_UNAVAILABLE: Campaign context unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignSmsLineCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Unassign SMS line campaign","tags":["SMS campaigns"],"x-required-permissions":["platforms:write"]},"get":{"description":"Read the last confirmed campaign and current eligibility. Follow changes through their operations. Eligibility is a control-plane assessment, not a delivery or recipient-consent guarantee.","operationId":"getSmsLineCampaignAssignment","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentResponse"}}},"description":"Current assignment, including an untouched version of 1.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SmsCampaignInvalidRequestProblem"}}},"description":"SMS_CAMPAIGN_INVALID_REQUEST: Invalid SMS campaign request","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch; SMS_CAMPAIGN_ORGANIZATION_MISMATCH: Campaign belongs to another organization\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentNotFoundProblem"}}},"description":"SMS_CAMPAIGN_NOT_FOUND: Campaign not found; SMS_LINE_NOT_FOUND: SMS line not found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; SMS_LINE_UNSUPPORTED: SMS line unsupported; SMS_CAMPAIGN_NOT_READY: Campaign not ready; SMS_CAMPAIGN_VERSION_CONFLICT: Assignment version conflict; SMS_CAMPAIGN_CAPACITY_EXCEEDED: Campaign number capacity exhausted; SMS_CAMPAIGN_RECONCILIATION_REQUIRED: Campaign reconciliation required; SMS_CAMPAIGN_MUTATION_IN_PROGRESS: Assignment mutation in progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; SMS_CAMPAIGN_CONTEXT_UNAVAILABLE: Campaign context unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSmsLineCampaignAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get SMS line campaign assignment","tags":["SMS campaigns"],"x-required-permissions":["platforms:read"]},"put":{"description":"Attach a ready campaign from this project’s organization to its line. Requires platforms:write for the project; human and machine actors retain their authenticated identity. Requires a permanent Idempotency-Key and the current assignment version. Provider provisioning runs asynchronously. If the operation fails, its `error` is the problem of one of these codes: `SMS_CAMPAIGN_PROVIDER_REJECTED`, `SMS_CAMPAIGN_RECONCILIATION_REQUIRED`, `SMS_CAMPAIGN_REVOKED`.","operationId":"assignSmsLineCampaign","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The original terminal operation on an authorized replay. No Retry-After is emitted.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Assignment accepted. Poll the operation Location until terminal.","headers":{"Cache-Control":{"description":"Assignment and operation responses must not be cached.","schema":{"example":"no-store","type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignBadRequestProblem"}}},"description":"SMS_CAMPAIGN_INVALID_REQUEST: Invalid SMS campaign request; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch; SMS_CAMPAIGN_ORGANIZATION_MISMATCH: Campaign belongs to another organization\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignNotFoundProblem"}}},"description":"SMS_CAMPAIGN_NOT_FOUND: Campaign not found; SMS_LINE_NOT_FOUND: SMS line not found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; SMS_LINE_UNSUPPORTED: SMS line unsupported; SMS_CAMPAIGN_NOT_READY: Campaign not ready; SMS_CAMPAIGN_VERSION_CONFLICT: Assignment version conflict; SMS_CAMPAIGN_CAPACITY_EXCEEDED: Campaign number capacity exhausted; SMS_CAMPAIGN_RECONCILIATION_REQUIRED: Campaign reconciliation required; SMS_CAMPAIGN_MUTATION_IN_PROGRESS: Assignment mutation in progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/IdempotencyKeyReusedProblem"}}},"description":"IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; SMS_CAMPAIGN_CONTEXT_UNAVAILABLE: Campaign context unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignSmsLineCampaignGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Assign or replace SMS line campaign","tags":["SMS campaigns"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/sms/numbers":{"post":{"description":"Buys one US local number from the provider and records it as a resource with SMS enabled. Requires countryCode (US) and accepts an optional three-digit geographic areaCode. The server selects an exact matching number. While inventory is empty the operation keeps searching, and the caller can cancel it until ordering begins; a search still empty one minute after the operation was created fails it with `NUMBER_INVENTORY_UNAVAILABLE`. Always answers 202 with an operation: the work runs behind the response, and the Location points at the operation to poll. New area-specific requests must appear in current provider coverage; discover it with GET /sms/numbers/area-codes?countryCode=US. Coverage and subscription checks run before operation creation. Billing follows delivery. Replays return the original operation without checking current coverage. The Idempotency-Key is required and permanent: repeating it returns the same operation forever, never a second number. A further number always needs a NEW key, including while others are still running. An optional promotionCode is redeemed with the number's charge, which follows delivery: a code billing refuses hands the number back, and its release operation carries the refusal (`reason` `charge_refused`, with `detail.chargeRefusal` `{ code: \"promotion_code_rejected\", detail: <why> }`). Requires the platforms:write permission bound to the project resource in the path. If the operation fails, its `error` is the problem of one of these codes: `ENTITLEMENT_REQUIRED`, `NUMBER_INVENTORY_UNAVAILABLE`, `NUMBER_ORDER_FAILED`, `NUMBER_ORDER_RECONCILIATION_REQUIRED`, `NUMBER_SEARCH_FAILED`.","operationId":"purchaseSmsNumber","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The purchase was accepted and is running. GET the Location after the Retry-After interval until `state` is terminal; the response there carries the number once it exists.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectClosingProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PurchaseSmsNumberGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Purchase SMS number","tags":["SMS numbers"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/sms/numbers/area-codes":{"get":{"description":"Lists current provider coverage for US local numbers, sorted and deduplicated. Coverage does not guarantee inventory carrying every required feature. New area-specific purchases must use a listed code; accepted purchases keep waiting if coverage later changes. Requires platforms:read for the path project.","operationId":"listNumberAreaCodes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"countryCode","required":true,"schema":{"const":"US","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNumberAreaCodesResponse"}}},"description":"Current area-code coverage. An empty list is a successful coverage read, not an upstream failure.","headers":{"Cache-Control":{"description":"Private cache with the remaining five-minute service-cache lifetime.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberAreaCodesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberAreaCodesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberAreaCodesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List number area codes","tags":["SMS numbers"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/sms/numbers/countries":{"get":{"description":"Lists supported purchase countries independently of current provider inventory. Requires platforms:read for the path project.","operationId":"listNumberCountries","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNumberCountriesResponse"}}},"description":"Supported countries.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberCountriesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberCountriesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListNumberCountriesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List number countries","tags":["SMS numbers"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/telegram/bots":{"post":{"description":"Starts a free managed Telegram bot connection. Each project may have one unfinished Telegram provision, including user interaction and failure cleanup. A different Idempotency-Key while one is active returns 409 TELEGRAM_PROVISION_IN_PROGRESS with its operationId and operationUrl; resume it, cancel it while cancellation is available, or wait for it to finish. Rejected keys remain reusable. Open detail.setupUrl to create a new bot, whose name and username are chosen in Telegram, or to connect an existing managed bot, then poll Location. The link remains usable while the operation is active and never expires. Replaying the same Idempotency-Key returns the original operation, even after completion or while a newer setup is active. POST, GET and list share the same operation details. The API includes detail.setupUrl only for callers with platforms:write for the project; read-only callers receive the other details unchanged. If the operation fails, its `error` is the problem of one of these codes: `TELEGRAM_CONFIGURATION_FAILED`.","operationId":"connectTelegramBot","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Setup accepted. Open detail.setupUrl and poll the operation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotConflictProblem"}}},"description":"TELEGRAM_PROJECT_DELETED: Telegram Project Deleted; PROJECT_CLOSING: Project Is Closing; TELEGRAM_PROVISION_IN_PROGRESS: Telegram Provision In Progress","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectTelegramBotGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Connect Telegram bot","tags":["Telegram"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/lines/profile-assignments/batch":{"post":{"description":"Atomically sets additional-profile overrides or switches lines back to the project default for up to 100 Voice-capable lines. A null profileId means use the default. Every expected resource version must match or no line changes. Requires platforms:write bound to the path project.","operationId":"batchUpdateVoiceLineProfileAssignments","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsResponse"}}},"description":"The updated line profile assignments.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found; VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_DEFAULT_PROFILE_ASSIGNMENT_FORBIDDEN: Voice Default Profile Assignment Forbidden; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BatchUpdateVoiceLineProfileAssignmentsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Batch update Voice line assignments","tags":["Voice"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/lines/{resourceId}/profile":{"delete":{"description":"Removes a line's explicit override when the resource version matches so the line follows the project default. Profiles and the pstn_voice ability are unchanged. Requires platforms:write bound to the path project.","operationId":"unassignVoiceLineProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"204":{"description":"The Voice profile was unassigned.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignVoiceLineProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileVersionConflictProblem"}}},"description":"VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignVoiceLineProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnassignVoiceLineProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Unassign Voice line profile","tags":["Voice"],"x-required-permissions":["platforms:write"]},"get":{"description":"Gets the explicit additional-profile override for an owned Voice-capable line. A line following the project default returns 200 without profileId. Requires platforms:read bound to the path project.","operationId":"getVoiceLineProfileAssignment","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceLineProfileAssignment"}}},"description":"The line profile assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceLineProfileAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceLineProfileAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceLineProfileAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get Voice line profile assignment","tags":["Voice"],"x-required-permissions":["platforms:read"]},"put":{"description":"Assigns or replaces a line's explicit additional-profile override when the resource version matches. The current default cannot be assigned explicitly. The pstn_voice ability remains the admission source of truth. Requires platforms:write bound to the path project.","operationId":"assignVoiceLineProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceLineProfileAssignment"}}},"description":"The updated Voice line profile assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found; VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_DEFAULT_PROFILE_ASSIGNMENT_FORBIDDEN: Voice Default Profile Assignment Forbidden; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignVoiceLineProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Assign Voice line profile","tags":["Voice"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles":{"get":{"description":"Lists reusable Voice profiles in this project. Requires platforms:read bound to the path project.","operationId":"listVoiceProfiles","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"default","schema":{"$ref":"#/components/schemas/ListVoiceProfilesDefaultInput"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfilePage"}}},"description":"A page of Voice profiles.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListVoiceProfilesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListVoiceProfilesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListVoiceProfilesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List Voice profiles","tags":["Voice"],"x-required-permissions":["platforms:read"]},"post":{"description":"Creates a direction-neutral additional Voice profile. The project default must already exist. Requires platforms:write bound to the path project.","operationId":"createVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoiceProfileRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The created Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateVoiceProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_DEFAULT_PROFILE_REQUIRED: Voice Default Profile Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create Voice profile","tags":["Voice"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles/default":{"get":{"description":"Gets the profile currently selected as the project default, including its optional inbound delivery state. Requires platforms:read bound to the path project.","operationId":"getDefaultVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The current default Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDefaultVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDefaultVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDefaultVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get default Voice profile","tags":["Voice"],"x-required-permissions":["platforms:read"]},"patch":{"description":"Patches the default profile's protocol or mediaEncryption when expectedVersion matches. Omitted fields are preserved. Its server-assigned name is immutable, and directional configuration uses the profileId returned by this resource. Requires platforms:write bound to the path project.","operationId":"updateDefaultVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultVoiceProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The updated default Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultVoiceProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_DIRECTION_CONFIGURED: Voice Profile Direction Configured; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update default Voice profile","tags":["Voice"],"x-required-permissions":["platforms:write"]},"put":{"description":"Creates the project default Voice profile when absent. An identical replay returns the existing default without changing its version; a different existing default conflicts. Direction configuration is managed separately. Requires platforms:write bound to the path project.","operationId":"createDefaultVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDefaultVoiceProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The identically replayed default Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The created default Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateDefaultVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateDefaultVoiceProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_DEFAULT_PROFILE_EXISTS: Voice Default Profile Exists","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateDefaultVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateDefaultVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create default Voice profile","tags":["Voice"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles/{profileId}":{"delete":{"description":"Deletes an additional profile when expectedVersion matches. Assigned profiles require force=true, which atomically removes every stored override so affected lines follow the default. The default can never be deleted. Requires platforms:write bound to the path project.","operationId":"deleteVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},{"in":"query","name":"force","schema":{"$ref":"#/components/schemas/DeleteVoiceProfileForceInput"}}],"responses":{"204":{"description":"The Voice profile was deleted.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileConflictProblem"}}},"description":"VOICE_PROFILE_IN_USE: Voice Profile In Use; VOICE_DEFAULT_PROFILE_DELETION_FORBIDDEN: Voice Default Profile Deletion Forbidden; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Delete Voice profile","tags":["Voice"],"x-required-permissions":["platforms:write"]},"get":{"description":"Gets one reusable Voice profile, including its optional inbound delivery state. Requires platforms:read bound to the path project.","operationId":"getVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get Voice profile","tags":["Voice"],"x-required-permissions":["platforms:read"]},"patch":{"description":"Patches an additional profile's name, protocol, or mediaEncryption when expectedVersion matches. Omitted fields are preserved. The default profile's metadata changes only through PATCH /v1/projects/{id}/platforms/voice/profiles/default, so a name, protocol, or mediaEncryption patch addressed to its profileId is refused with 409. Directional configuration is managed through the profile's inbound and outbound endpoints. Requires platforms:write bound to the path project.","operationId":"updateVoiceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfile"}}},"description":"The updated Voice profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_DIRECTION_CONFIGURED: Voice Profile Direction Configured; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending; VOICE_DEFAULT_PROFILE_METADATA_FORBIDDEN: Voice Default Profile Metadata Forbidden","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update Voice profile","tags":["Voice"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles/{profileId}/inbound":{"delete":{"description":"Removes a profile's inbound destination when the shared profile version matches. The profileId may identify the default or an additional profile. The profile and its line assignments remain. Requires platforms:write bound to the path project.","operationId":"deleteVoiceProfileInbound","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfileInboundConfiguration"}}},"description":"The removed inbound configuration and next profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileInboundForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileInboundConflictProblem"}}},"description":"VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileInboundInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileInboundGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Delete Voice inbound configuration","tags":["Voice"],"x-required-permissions":["platforms:write"]},"patch":{"description":"Updates selected fields of a profile's inbound destination when the shared profile version matches. The profileId may identify the default or an additional profile. At least one of destinationUri or credentials is required. Credential omission preserves destination authentication, null removes it, and an object replaces it atomically. Requires platforms:write bound to the path project.","operationId":"updateVoiceProfileInbound","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInboundRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfileInboundConfiguration"}}},"description":"The updated inbound configuration and profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInboundForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInboundConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInboundInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileInboundGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update Voice inbound configuration","tags":["Voice"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]},"put":{"description":"Creates or fully replaces a profile's inbound destination when the shared profile version matches. The profileId may identify the default or an additional profile. Credentials are required and nullable; null removes destination authentication. Requires platforms:write bound to the path project.","operationId":"replaceVoiceProfileInbound","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceVoiceProfileInboundRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfileInboundConfiguration"}}},"description":"The replaced inbound configuration and profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfileInboundConfiguration"}}},"description":"The newly created inbound configuration and profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReplaceVoiceProfileInboundForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReplaceVoiceProfileInboundConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReplaceVoiceProfileInboundInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReplaceVoiceProfileInboundGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Replace Voice inbound configuration","tags":["Voice"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles/{profileId}/outbound":{"delete":{"description":"Revokes outbound calling for a profile when the shared profile version matches. The profileId may identify the default or an additional profile. The profile, inbound destination, and line assignments remain. Requires platforms:write bound to the path project.","operationId":"deleteVoiceProfileOutbound","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}},{"in":"query","name":"expectedVersion","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileOutboundResponse"}}},"description":"Outbound calling was revoked.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileOutboundForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileOutboundConflictProblem"}}},"description":"VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_NOT_CONFIGURED: Voice Outbound Not Configured","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileOutboundInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteVoiceProfileOutboundGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Revoke Voice outbound credential","tags":["Voice"],"x-required-permissions":["platforms:write"]},"patch":{"description":"Changes a SIP profile's outbound Digest algorithm when expectedVersion matches. The profileId may identify the default or an additional profile. This policy-only change preserves the password, username, and any previous-password grace deadline. SHA-256 is recommended; MD5 is a weaker legacy option. Returns non-secret outbound metadata and the profile version. Requires platforms:write bound to the path project.","operationId":"updateVoiceProfileOutboundAuthentication","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationResponse"}}},"description":"The current outbound configuration and profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending; VOICE_OUTBOUND_NOT_CONFIGURED: Voice Outbound Not Configured","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceProfileOutboundAuthenticationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update Voice outbound authentication","tags":["Voice"],"x-required-permissions":["platforms:write"]},"put":{"description":"Configures a SIP credential for outbound calls from a profile when the shared profile version matches. Outbound calls are paid usage, so the organization needs a payment method and no invoices overdue 7 days or more; otherwise this returns 402 ENTITLEMENT_REQUIRED with a reason. authentication.algorithm is required: SHA-256 is recommended, while MD5 is a weaker legacy option supported over UDP, TCP, and TLS; TLS is strongly recommended because UDP and TCP do not encrypt SIP signaling. The profileId may identify the default or an additional profile. The new password is returned once and is never recoverable. Requires platforms:write bound to the path project.","operationId":"configureVoiceProfileOutbound","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundResponse"}}},"description":"An idempotent replay with an explicit null password.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundResponse"}}},"description":"The configured outbound connection and display-once password.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending; VOICE_OUTBOUND_CONFIGURED: Voice Outbound Already Configured","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConfigureVoiceProfileOutboundGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Configure Voice outbound credential","tags":["Voice"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/voice/profiles/{profileId}/outbound/rotate":{"post":{"description":"Rotates a SIP profile's outbound credential when expectedVersion matches. The profileId may identify the default or an additional profile. Normal rotation gives the previous credential one hour of grace; emergency rotation gives none. The new password is returned once and is never recoverable. Requires platforms:write bound to the path project.","operationId":"rotateVoiceProfileOutboundCredential","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialResponse"}}},"description":"The rotated password result and next profile version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/VoiceProfileNotFoundProblem"}}},"description":"VOICE_PROFILE_NOT_FOUND: Voice Profile Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; VOICE_PROFILE_VERSION_CONFLICT: Voice Profile Version Conflict; VOICE_OUTBOUND_OPERATION_PENDING: Voice Outbound Operation Pending; VOICE_OUTBOUND_NOT_CONFIGURED: Voice Outbound Not Configured","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateVoiceProfileOutboundCredentialGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Rotate Voice outbound credential","tags":["Voice"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp":{"get":{"description":"Reports whether the project is on shared or dedicated WhatsApp lines, derived from its billing entitlements. Shared mode carries the seat cap. Both say whether a dedicated line requested now would be assigned without waiting. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getProjectWhatsappPlatform","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPlatformSettings"}}},"description":"The project's WhatsApp line mode.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectWhatsappPlatformForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectWhatsappPlatformInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectWhatsappPlatformServiceUnavailableProblem"}}},"description":"BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending; UPSTREAM_UNAVAILABLE: Upstream Service Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectWhatsappPlatformGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get project WhatsApp platform","tags":["Platforms"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/whatsapp-business/account":{"delete":{"description":"Disconnects every attached WhatsApp sender, then unsubscribes our app and removes the project's business account connection. Photon VoIP lines and the numbers in Meta remain. Requires Idempotency-Key. Poll the returned operation. Meta's answers do not fail it: each sender is released as `DELETE /platforms/resources/:resourceId` does, and our app's unsubscribe is a best effort, tried up to three times, a second or two apart, only while the failure is temporary. New signups are blocked while disconnecting, and existing provisions must finish before this request can be accepted. If the operation fails, its `error` is the problem of one of these codes: `WHATSAPP_ACCOUNT_DISCONNECT_FAILED`.","operationId":"disconnectWhatsappBusinessAccount","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The replayed disconnect operation is terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Account disconnect accepted. Poll Location after Retry-After.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WhatsappWabaNotConnectedProblem"}}},"description":"WHATSAPP_WABA_NOT_CONNECTED: WhatsApp Business Account Not Connected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountConflictProblem"}}},"description":"WHATSAPP_ACCOUNT_DISCONNECTING: WhatsApp Business Account Disconnecting; WHATSAPP_ACCOUNT_PROVISIONING: WhatsApp Business Account Has Provisioning Numbers","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DisconnectWhatsappBusinessAccountGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Disconnect WhatsApp Business account","tags":["WhatsApp Business"],"x-required-permissions":["platforms:write"]},"get":{"description":"Gets the one WhatsApp Business Account this project has connected, with its number of live senders. Senders are resources and are listed by GET /platforms/resources?ability=whatsapp_business. The account is not a resource and carries no access token. Meta's retained numbers are listed separately by GET /platforms/whatsapp-business/account/phone-numbers. `subscribedAt` is absent until our app is attached to the account's webhooks. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getWhatsappBusinessAccount","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhatsappBusinessAccount"}}},"description":"The project's connected account.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessAccountForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WhatsappWabaNotConnectedProblem"}}},"description":"WHATSAPP_WABA_NOT_CONNECTED: WhatsApp Business Account Not Connected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessAccountInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessAccountGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get WhatsApp Business account","tags":["WhatsApp Business"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/whatsapp-business/account/phone-numbers":{"get":{"description":"Lists the connected WABA's phone numbers directly from Meta, including numbers whose Photon sender was disconnected. Ownership is photon for a number in this project's current Photon inventory and meta otherwise. Match a Photon SMS number by its E.164 phoneNumber and reuse its existing displayName when reconnecting. A null name is unavailable, not permission to choose a new name. A failed lookup returns an error rather than an empty list. Requires platforms:read on the path project.","operationId":"listWhatsappAccountPhoneNumbers","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWhatsappAccountPhoneNumbersResponse"}}},"description":"The current Meta number inventory for the connected WABA.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappAccountPhoneNumbersForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WhatsappWabaNotConnectedProblem"}}},"description":"WHATSAPP_WABA_NOT_CONNECTED: WhatsApp Business Account Not Connected","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappAccountPhoneNumbersInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappAccountPhoneNumbersGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List WhatsApp account phone numbers","tags":["WhatsApp Business"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/whatsapp-business/account/senders":{"post":{"description":"Registers an active, SMS-capable Photon VoIP line on this project's connected WhatsApp Business Account. The account is resolved server-side; callers never select a WABA. The platform creates or reuses the Meta number, requests and consumes the SMS ownership code internally, verifies it, and registers the sender. displayName is optional; when omitted the project agent profile name is snapshotted before acceptance. The VoIP line remains a separate resource and never receives the whatsapp_business ability. If the operation fails, its `error` is the problem of one of these codes: `WHATSAPP_AUTHORIZATION_REVOKED`, `WHATSAPP_DISPLAY_NAME_CONFLICT`, `WHATSAPP_NUMBER_ADD_REFUSED`, `WHATSAPP_NUMBER_LOOKUP_FAILED`, `WHATSAPP_REGISTRATION_REFUSED`, `WHATSAPP_VERIFICATION_REFUSED`, `WHATSAPP_VERIFICATION_REQUEST_REFUSED`, `WHATSAPP_VERIFICATION_TIMED_OUT`.","operationId":"createWhatsappVoipSender","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The sender provision was accepted. Poll the Location after Retry-After until the operation is terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderNotFoundProblem"}}},"description":"WHATSAPP_WABA_NOT_CONNECTED: WhatsApp Business Account Not Connected; WHATSAPP_VOIP_SOURCE_NOT_ELIGIBLE: WhatsApp VoIP Source Not Eligible","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; WHATSAPP_ACCOUNT_DISCONNECTING: WhatsApp Business Account Disconnecting; WHATSAPP_ACCOUNT_PROVISIONING: WhatsApp Business Account Has Provisioning Numbers; WHATSAPP_VOIP_SOURCE_ACTIVATING: WhatsApp VoIP Source Activating; WHATSAPP_SENDER_CONNECTED: WhatsApp Sender Connected; WHATSAPP_SENDER_PROVISIONING: WhatsApp Sender Provisioning; WHATSAPP_VOIP_SOURCE_RELEASING: WhatsApp VoIP Source Releasing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; WHATSAPP_DISPLAY_NAME_UNAVAILABLE: WhatsApp Display Name Unavailable; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappVoipSenderGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create WhatsApp VoIP sender","tags":["WhatsApp Business"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp-business/numbers":{"post":{"description":"Exchanges the authorization code Embedded Signup returned and connects exactly the selected phone number as one `whatsapp_sender`. Send the WABA id and phone-number id emitted by the same popup attempt; both are treated as selectors and verified against Meta before use. A selected number that matches a non-retired, same-project `voip_line` is linked to it; a number absent from Photon inventory stays unbound; a matching non-retired `cosmos_line`, foreign VoIP line or unassigned VoIP line fails the operation before registration. Connecting is free — no plan requirement — but Billing must report the project's organization as ready with a payment method on file. The Idempotency-Key is required and permanent: replaying the same key returns the original operation forever. Requires the platforms:write permission bound to the project resource in the path. If the operation fails, its `error` is the problem of one of these codes: `WHATSAPP_AUTHORIZATION_REVOKED`, `WHATSAPP_CODE_EXCHANGE_FAILED`, `WHATSAPP_COSMOS_LINE_NOT_SUPPORTED`, `WHATSAPP_EMBEDDED_SIGNUP_PHONE_LOOKUP_FAILED`, `WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_FOUND`, `WHATSAPP_EMBEDDED_SIGNUP_PHONE_NOT_VERIFIED`, `WHATSAPP_EMBEDDED_SIGNUP_WABA_NOT_AUTHORIZED`, `WHATSAPP_PROJECT_WABA_ALREADY_CONNECTED`, `WHATSAPP_REGISTRATION_REFUSED`, `WHATSAPP_SENDER_CONNECTED`, `WHATSAPP_SENDER_PROVISIONING`, `WHATSAPP_SIGNUP_EXPIRED`, `WHATSAPP_SUBSCRIPTION_REFUSED`, `WHATSAPP_VOIP_SOURCE_NOT_ELIGIBLE`, `WHATSAPP_VOIP_SOURCE_RELEASING`, `WHATSAPP_WABA_ALREADY_CONNECTED`.","operationId":"connectWhatsappBusiness","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The code was accepted and onboarding was dispatched. GET the Location after the Retry-After interval until the operation is terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/EntitlementRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectClosingProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConnectWhatsappBusinessGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Connect WhatsApp Business","tags":["WhatsApp Business"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp-business/numbers/{resourceId}/verification-code":{"get":{"description":"Returns the latest six-digit WhatsApp Business ownership code received by SMS for an active Photon VOIP number, but only when its provider timestamp is strictly newer than the required receivedAfter boundary. receivedAfter must be an RFC 3339 timestamp between this request's arrival time and two minutes before it; once it expires, restart Meta's verification flow with a new boundary. A missing newer code is a retryable 404 with Retry-After: 2. Poll after 2, 4, 8, then 10 seconds, applying ±20% jitter and capping later intervals at 10 seconds. Stop when the original boundary is two minutes old. Responses are never cached. Requires the platforms:write permission bound to the project resource in the path.","operationId":"getWhatsappBusinessVerificationCode","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"receivedAfter","required":true,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeResponse"}}},"description":"A verification code received strictly after receivedAfter. Treat it as an authentication secret.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found; WHATSAPP_VERIFICATION_CODE_NOT_FOUND: WhatsApp Verification Code Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; WHATSAPP_VERIFICATION_WINDOW_EXPIRED: WhatsApp Verification Window Expired","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappBusinessVerificationCodeGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get WhatsApp Business verification code","tags":["WhatsApp Business"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp-business/signup-config":{"get":{"description":"Returns what the browser needs to open Meta's Embedded Signup popup: the Facebook Login for Business configuration id, the Graph version to run against, and the scopes it will request. Answered in-process rather than forwarded, so the first step of onboarding survives an outage of the private service. Pass `configId` to `FB.login` as `config_id` with `response_type: 'code'` and `override_default_response_type: true`. Do NOT add a `featureType` — omitting it is what keeps the phone-number screen in the flow, and `only_waba_sharing` produces an account with no number that cannot be provisioned. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getWhatsappSignupConfig","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWhatsappSignupConfigResponse"}}},"description":"The parameters to launch Embedded Signup with.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappSignupConfigForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidAuthContextProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"sessionCookie":[]}],"summary":"Get WhatsApp signup config","tags":["WhatsApp Business"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/whatsapp/assignments":{"get":{"description":"Lists the project's WhatsApp shared line assignments, oldest first. Released assignments are excluded unless includeReleased is set. Requires the platforms:read permission bound to the project resource in the path.","operationId":"listWhatsappSharedLineAssignments","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"includeReleased","schema":{"type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignmentPage"}}},"description":"A page of WhatsApp shared line assignments.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappSharedLineAssignmentsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappSharedLineAssignmentsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWhatsappSharedLineAssignmentsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List WhatsApp shared line assignments","tags":["WhatsApp shared line assignments"],"x-required-permissions":["platforms:read"]},"post":{"description":"Maps an end user's phone number onto one of the project's pooled shared WhatsApp lines, consuming a seat from the project's WhatsApp entitlement. The assigned number is allocated by the server. When an email address is supplied the user is sent an invite asynchronously; the response never reports whether that succeeded. Requires the platforms:write permission bound to the project resource in the path.","operationId":"createWhatsappSharedLineAssignment","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The created WhatsApp shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentConflictProblem"}}},"description":"PROJECT_CLOSING: Project Is Closing; WHATSAPP_MODE_DEDICATED: WhatsApp Mode Is Dedicated; SHARED_LINE_CAP_EXCEEDED: Shared Line Cap Exceeded; ASSIGNMENT_EXISTS: Assignment Exists","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending; SHARED_LINE_POOL_EXHAUSTED: Shared Line Pool Exhausted\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWhatsappSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create WhatsApp shared line assignment","tags":["WhatsApp shared line assignments"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp/assignments/{assignmentId}":{"delete":{"description":"Releases a WhatsApp shared line assignment, freeing its seat for reassignment. The row is retained for audit and returned with releasedAt set, so repeating the call is safe. Requires the platforms:write permission bound to the project resource in the path.","operationId":"releaseWhatsappSharedLineAssignment","parameters":[{"in":"path","name":"assignmentId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The released WhatsApp shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignmentNotFoundProblem"}}},"description":"ASSIGNMENT_NOT_FOUND: Assignment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Release WhatsApp shared line assignment","tags":["WhatsApp shared line assignments"],"x-required-permissions":["platforms:write"]},"get":{"description":"Reads one WhatsApp shared line assignment. Requires the platforms:read permission bound to the project resource in the path.","operationId":"getWhatsappSharedLineAssignment","parameters":[{"in":"path","name":"assignmentId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedLineAssignment"}}},"description":"The WhatsApp shared line assignment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappSharedLineAssignmentForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AssignmentNotFoundProblem"}}},"description":"ASSIGNMENT_NOT_FOUND: Assignment Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappSharedLineAssignmentInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWhatsappSharedLineAssignmentGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get WhatsApp shared line assignment","tags":["WhatsApp shared line assignments"],"x-required-permissions":["platforms:read"]}},"/v1/projects/{id}/platforms/whatsapp/dedicated":{"post":{"description":"Provisions one dedicated WhatsApp line with WhatsApp and shared Voice enabled. It attaches to an eligible iMessage line the project already owns when possible so both products keep the same number; otherwise it claims healthy, available WhatsApp-capable dedicated-line inventory. Always answers 202, because waiting when no inventory is available is not a failure. The product opens its own charge period after the abilities are enabled; Voice has no separate charge. Waiting requests are served first come, first served, and are cancelled with a `reason` exactly as for a dedicated iMessage line. Cancel the returned operation to stop waiting. An optional promotionCode is checked and claimed here, before the request waits for a line: a code that can't be used answers 409 PROMOTION_CODE_REJECTED and starts nothing. The Idempotency-Key is required and permanent. If the operation fails, its `error` is the problem of one of these codes: `CHARGE_REFUSED`, `ENTERPRISE_PLAN_REQUIRED`.","operationId":"provisionWhatsappDedicatedLine","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The attachment was accepted and is running. GET the Location after the Retry-After interval until `state` is terminal.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLinePaymentRequiredProblem"}}},"description":"ENTITLEMENT_REQUIRED: Entitlement Required; ENTERPRISE_PLAN_REQUIRED: Enterprise Plan Required","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineConflictProblem"}}},"description":"PROMOTION_CODE_REJECTED: Promotion Code Rejected; PROJECT_CLOSING: Project Is Closing","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_NOT_PROVISIONED: Billing Not Provisioned; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProvisionWhatsappDedicatedLineGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Provision dedicated WhatsApp line","tags":["Dedicated WhatsApp lines"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/platforms/whatsapp/dedicated/{resourceId}":{"delete":{"description":"Removes only WhatsApp from one dedicated line. Shared Voice is removed only when iMessage is absent; if iMessage remains, Voice, the resource, ownership, and phone number are preserved. Usually finishes inside this request and answers 200; a slow workflow answers 202 with an operation to poll. Takes no Idempotency-Key because the open WhatsApp charge period identifies this product tenure. If the operation fails, its `error` is the problem of one of these codes: `RESOURCE_NOT_FOUND`.","operationId":"releaseWhatsappDedicatedLine","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"resourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The WhatsApp ability and its charge period were removed.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The removal is still running. GET the Location after the Retry-After interval.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the operation. Resolves immediately, including while the work is still running.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"description":"Minimum number of seconds to wait before reading the operation again.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappDedicatedLineForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundProblem"}}},"description":"RESOURCE_NOT_FOUND: Resource Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"description":"RATE_LIMITED: Too Many Requests","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappDedicatedLineInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReleaseWhatsappDedicatedLineGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Release dedicated WhatsApp line","tags":["Dedicated WhatsApp lines"],"x-required-permissions":["platforms:write"]}},"/v1/projects/{id}/spaces":{"get":{"description":"Lists the Project's stored Spaces, with optional participant and Message filters. Results are eventually consistent.","operationId":"listSpaces","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Received or sent Message. All message-prefixed filters must match the same Message.","in":"query","name":"messageDirection","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated public content types to exclude from matching Messages. Requires messageResourceId. A group is excluded when its type or all its parts are excluded.","in":"query","name":"messageExcludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Resource ownership captured by a matching Message","in":"query","name":"messageResourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Direction along orderBy; desc, the default, is newest first","in":"query","name":"order","schema":{"$ref":"#/components/schemas/SortOrder"}},{"description":"Defaults to the filtered timestamp or created_at. Must match Space time bounds. last_message_created_at uses the latest Message creation time, accepts no Space time bounds, and puts empty Spaces last when descending. With messageResourceId, only that resource's non-control Messages affect ordering.","in":"query","name":"orderBy","schema":{"$ref":"#/components/schemas/SpaceOrderBy"}},{"description":"Items per page. A value above 100 returns at most 100 items.","in":"query","name":"pageSize","schema":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},{"description":"Token from nextPageToken. Keep the same Project and query.","in":"query","name":"pageToken","schema":{"maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},{"description":"Matches participant phone or email handles case-insensitively, excluding participantId. Phone formatting characters are optional.","in":"query","name":"participantHandle","schema":{"maxLength":320,"minLength":1,"type":"string"}},{"description":"Restricts the page to Spaces this User participates in","in":"query","name":"participantId","schema":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpacePage"}}},"description":"A page of Spaces in the requested order.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Space representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Space representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidPageTokenProblem"}}},"description":"INVALID_PAGE_TOKEN: Invalid Page Token","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSpacesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSpacesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListSpacesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"List Spaces","tags":["Spaces"],"x-required-permissions":["project:read"]},"post":{"description":"Creates or returns a project Space. Idempotency-Key is required for every platform and binds the project, platform and initial User IDs (unordered except the iMessage creator in first position) for 24 hours after workflow completion. Concurrent matching requests join the same operation; conflicting reuse returns 422 once its outcome is available. A new email key creates a new thread; direct Spaces and SMS groups converge by participants. Every creation and successful replay requires at least one currently project-owned Agent, or for iMessage a shared-line Agent in a direct Space whose peer has an active Assignment of this project on that line. For iMessage, an existing exact match is reused; otherwise the first participant must be a project-owned dedicated phone Agent and creates the native direct chat or group. Multiple matching native groups return SPACE_AMBIGUOUS; incomplete group membership cannot establish an exact match. Replays return 200 and the current stored Space, with Idempotent-Replayed: true. A timeout does not cancel accepted work: retry the same key and input.","operationId":"createOrGetSpace","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Required for every platform; 1-255 visible ASCII characters. Reuse for retries. For email, the same key and initial participants retrieve the same Space, and a new key starts a separate conversation. SMS identifies its Space by participants, even with a new key. iMessage binds the key to the first participant as creator and the remaining unordered User IDs. Existing matching Spaces are reused.","in":"header","name":"idempotency-key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSpace"}}},"description":"The Space already existed and is returned in its authoritative stored state.","headers":{"Cache-Control":{"description":"Prevents storage of this create-or-get response.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"description":"True when joining or replaying an accepted operation.","schema":{"type":"string"}},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSpace"}}},"description":"The Space was created.","headers":{"Cache-Control":{"description":"Prevents storage of this create-or-get response.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the newly created Space.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceBadRequestProblem"}}},"description":"HTTP_ERROR: Request Failed; INVALID_REQUEST: Invalid Request; IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UserNotFoundProblem"}}},"description":"USER_NOT_FOUND: User Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SpaceAmbiguousProblem"}}},"description":"SPACE_AMBIGUOUS: Multiple Matching Spaces","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceUnprocessableEntityProblem"}}},"description":"SPACE_REQUIRES_OWNED_AGENT: Space Requires Owned Agent; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused; OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceServiceUnavailableProblem"}}},"description":"IDEMPOTENCY_UNAVAILABLE: Idempotency Unavailable; UPSTREAM_UNAVAILABLE: Upstream Service Unavailable\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetSpaceGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:write"]}],"summary":"Create or get a Space","tags":["Spaces"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/spaces/count":{"get":{"description":"Counts distinct Spaces matching the list filters; multiple matching Messages count once. Results are eventually consistent.","operationId":"countSpaces","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Received or sent Message. All message-prefixed filters must match the same Message.","in":"query","name":"messageDirection","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated public content types to exclude from matching Messages. Requires messageResourceId. A group is excluded when its type or all its parts are excluded.","in":"query","name":"messageExcludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Resource ownership captured by a matching Message","in":"query","name":"messageResourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Matches participant phone or email handles case-insensitively, excluding participantId. Phone formatting characters are optional.","in":"query","name":"participantHandle","schema":{"maxLength":320,"minLength":1,"type":"string"}},{"description":"Restricts the page to Spaces this User participates in","in":"query","name":"participantId","schema":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpaceCount"}}},"description":"Number of matching Spaces","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountSpacesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountSpacesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountSpacesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Count Spaces","tags":["Spaces"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/spaces/{spaceId}":{"get":{"description":"Returns one stored Space by canonical Photon Space ID. A Space of a kind its platform does not support returns OPERATION_UNAVAILABLE.","operationId":"getSpace","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"spaceId","required":true,"schema":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"if-none-match","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSpace"}}},"description":"The requested Space.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Space representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Space representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The request's If-None-Match validator matches the current representation.","headers":{"Cache-Control":{"description":"Private revalidation policy for this Space representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected Space representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSpaceForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SpaceNotFoundProblem"}}},"description":"SPACE_NOT_FOUND: Space Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSpaceUnprocessableEntityProblem"}}},"description":"OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSpaceInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetSpaceGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get a Space","tags":["Spaces"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/spaces/{spaceId}/profile/share":{"post":{"description":"Saves one share of the sender line's selected contact profile (name and photo) with everyone in this Space, as an authorized Agent. Returns the dispatched Message with HTTP 202. Successful handoff to the platform ends in accepted; recipients confirm nothing, so a share never becomes delivered. A share refused at execution, or not started within two minutes, ends in failed. A line whose profile mode is none shares nothing, and the Message is accepted. A shared line returns PROFILE_UNAVAILABLE; a profile change still in progress returns PROFILE_NOT_READY. Unsupported platforms return OPERATION_UNAVAILABLE.","operationId":"shareSpaceProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"spaceId","required":true,"schema":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileResponse"}}},"description":"The profile share Message was dispatched.","headers":{"Cache-Control":{"description":"Prevents storage of this transient response.","schema":{"$ref":"#/components/schemas/SpaceProfileShareCacheControl"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/HttpErrorProblem"}}},"description":"HTTP_ERROR: Request Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileNotFoundProblem"}}},"description":"SPACE_NOT_FOUND: Space Not Found; USER_NOT_FOUND: User Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileConflictProblem"}}},"description":"PROFILE_NOT_READY: Profile Not Ready; PROFILE_UNAVAILABLE: Profile Unavailable","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileUnprocessableEntityProblem"}}},"description":"OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ShareSpaceProfileGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:write"]}],"summary":"Share a profile in a Space","tags":["Spaces"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/spaces/{spaceId}/typing":{"post":{"description":"Saves one transient typing update as an authorized Agent in this Space. Returns the dispatched Message with HTTP 202. Successful provider handoff ends in accepted; rejection or expiry ends in failed. Repeat true to refresh; false stops where supported. Callers control refreshes. Unsupported platforms return OPERATION_UNAVAILABLE.","operationId":"setSpaceTyping","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"spaceId","required":true,"schema":{"pattern":"^pho_spc_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingResponse"}}},"description":"The typing Message was dispatched.","headers":{"Cache-Control":{"description":"Prevents storage of this transient response.","schema":{"$ref":"#/components/schemas/SpaceTypingCacheControl"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/HttpErrorProblem"}}},"description":"HTTP_ERROR: Request Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingNotFoundProblem"}}},"description":"SPACE_NOT_FOUND: Space Not Found; USER_NOT_FOUND: User Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingUnprocessableEntityProblem"}}},"description":"OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SetSpaceTypingGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:write"]}],"summary":"Set typing in a Space","tags":["Spaces"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/users":{"get":{"description":"Lists stored Users without refreshing their classification; use Get User for current details. Message filters select incoming senders or outgoing recipients, excluding the Message's own endpoint.","operationId":"listUsers","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Received or sent Message. All message-prefixed filters must match the same Message.","in":"query","name":"messageDirection","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated public content types to exclude from matching Messages. Requires messageResourceId. A group is excluded when its type or all its parts are excluded.","in":"query","name":"messageExcludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Resource ownership captured by a matching Message","in":"query","name":"messageResourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Direction along orderBy; desc, the default, is newest first","in":"query","name":"order","schema":{"$ref":"#/components/schemas/SortOrder"}},{"description":"Sort timestamp; defaults to the filtered timestamp, otherwise created_at. Must match the time bounds.","in":"query","name":"orderBy","schema":{"$ref":"#/components/schemas/TimestampOrderBy"}},{"description":"Items per page. A value above 100 returns at most 100 items.","in":"query","name":"pageSize","schema":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},{"description":"Token from nextPageToken. Keep the same Project and query.","in":"query","name":"pageToken","schema":{"maxLength":4096,"minLength":1,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPage"}}},"description":"A page of persisted Users in the requested order.","headers":{"Cache-Control":{"description":"Private revalidation policy for this User representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected User representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidPageTokenProblem"}}},"description":"INVALID_PAGE_TOKEN: Invalid Page Token","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListUsersForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListUsersInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListUsersGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"List Users","tags":["Users"],"x-required-permissions":["project:read"]},"post":{"description":"Creates or reconciles a User by normalized handle. WhatsApp and iMessage phone classification uses line allocation and project ownership; New iMessage email handles start as Human without lookup; existing email identities retain their producer-observed classification and ownership. WhatsApp Business uses project ownership. These three platforms perform no provider profile or enrichment fetch. Shared Agents expose type=shared without ownership IDs; dedicated Agents expose resourceId for this project or pairwise managedBy for another project. Dedicated lines without an active owner are unavailable. SMS retains its existing ownership and phone number enrichment behavior. Email retains domain ownership resolution, lowercase ASCII domains and case-preserved local parts. Dependency failures fail before classification writes. The natural identity is the project path ID, platform, and handle. Retrying after a committed creation whose response was lost returns the same User with 200 rather than replaying 201.","operationId":"createOrGetUser","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrGetUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUser"}}},"description":"The existing User after authoritative classification and any required repair.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUser"}}},"description":"The User was created from the platform’s resolved identity and authoritative observations.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"Location":{"description":"Canonical URL of the newly created User.","schema":{"format":"uri-reference","type":"string"}},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/HttpErrorProblem"}}},"description":"HTTP_ERROR: Request Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetUserForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UserIdentityConflictProblem"}}},"description":"USER_IDENTITY_CONFLICT: User Identity Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetUserUnprocessableEntityProblem"}}},"description":"OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetUserInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateOrGetUserGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:write"]}],"summary":"Create or get a User","tags":["Users"],"x-required-permissions":["project:write"]}},"/v1/projects/{id}/users/count":{"get":{"description":"Counts distinct Users matching the list filters, including incoming senders or outgoing recipients selected by Message filters. Results are eventually consistent.","operationId":"countUsers","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive creation-time bound on a matching Message","in":"query","name":"messageCreatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Received or sent Message. All message-prefixed filters must match the same Message.","in":"query","name":"messageDirection","schema":{"$ref":"#/components/schemas/MessageDirection"}},{"description":"Comma-separated public content types to exclude from matching Messages. Requires messageResourceId. A group is excluded when its type or all its parts are excluded.","in":"query","name":"messageExcludeContentTypes","schema":{"maxLength":1024,"type":"string"}},{"description":"Resource ownership captured by a matching Message","in":"query","name":"messageResourceId","schema":{"pattern":"^pho_res_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"Exclusive upper bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on createdAt, RFC 3339. Cannot combine with updatedAt bounds.","in":"query","name":"createdSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Restricts the page to one platform","in":"query","name":"platform","schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Exclusive upper bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedBefore","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"Inclusive lower bound on updatedAt, RFC 3339. Cannot combine with createdAt bounds.","in":"query","name":"updatedSince","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCount"}}},"description":"Number of matching Users","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountUsersForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountUsersInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CountUsersGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Count Users","tags":["Users"],"x-required-permissions":["project:read"]}},"/v1/projects/{id}/users/{userId}":{"get":{"description":"Returns one User after refreshing its Human or Agent classification and project ownership where supported. iMessage email identities retain their producer-observed classification and ownership because no current email ownership lookup is available. WhatsApp, WhatsApp Business and iMessage perform no provider fetch; only SMS Human classifications perform a phone number lookup. Current-project Agents expose resourceId; external-project Agents expose only pairwise managedBy. Conditional response evaluation uses the post-reconciliation representation. Stored reads use each platform definition; projection requires adapter support.","operationId":"getUser","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"userId","required":true,"schema":{"pattern":"^pho_usr_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"header","name":"if-none-match","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUser"}}},"description":"The reconciled User.","headers":{"Cache-Control":{"description":"Private revalidation policy for this User representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected User representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The request's If-None-Match validator matches the reconciled representation.","headers":{"Cache-Control":{"description":"Private revalidation policy for this User representation.","schema":{"type":"string"}},"Deprecation":{"$ref":"#/components/headers/Deprecation"},"ETag":{"description":"Validator for the selected User representation.","schema":{"type":"string"}},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetUserForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UserNotFoundProblem"}}},"description":"USER_NOT_FOUND: User Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UserIdentityConflictProblem"}}},"description":"USER_IDENTITY_CONFLICT: User Identity Conflict","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetUserUnprocessableEntityProblem"}}},"description":"OPERATION_UNAVAILABLE: Operation Unavailable; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetUserInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetUserGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get an User","tags":["Users"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}":{"delete":{"description":"Starts deletion of the identified project using a credential authorized for project management. Inspect the documented response and use getProjectClosureStatus with the organization and project identifiers to read closure progress. A project API key is not an accepted credential for this operation.","operationId":"deleteProject","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"The deleted project tombstone.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteProjectBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteProjectForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteProjectUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteProjectGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Delete project","tags":["Projects"],"x-required-permissions":["project:delete"]},"get":{"description":"Returns the identified project's settings for an authorized caller. The credential must be allowed to access that project; possession of an unrelated project's key does not provide access. Missing and deleted projects are reported through the documented error responses.","operationId":"getProject","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"The requested project.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetProjectGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get project","tags":["Projects"],"x-required-permissions":["project:read"]},"patch":{"description":"Updates the identified project's name and returns the updated project. The project slug is not a mutable field in this request. Use an authorized account or organization service-identity credential; a project API key is not accepted. Supply the required Idempotency-Key header.","operationId":"updateProject","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"The updated project.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"serviceIdentityBearer":[]}],"summary":"Update project","tags":["Projects"],"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/agent-profile":{"get":{"description":"Returns the agent profile belonging to the identified project. The profile is project-scoped and is distinct from the authenticated account's personal profile. Use the dedicated avatar operations when uploading or removing an agent avatar.","operationId":"getAgentProfile","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfile"}}},"description":"The Project's agent profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAgentProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetAgentProfileGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get agent profile","tags":["Agent Profile"],"x-required-permissions":["project:read"]},"patch":{"description":"Updates the supplied firstName and lastName fields in the project's agent profile and returns the updated profile. Avatar upload, commit and reset are separate operations. The caller must be authorized to change configuration for the selected project. Supply the required Idempotency-Key header.","operationId":"updateAgentProfile","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfile"}}},"description":"The updated agent profile.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAgentProfileBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAgentProfileForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAgentProfileUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateAgentProfileGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update agent profile","tags":["Agent Profile"],"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/agent-profile/avatar":{"delete":{"description":"Replaces the selected project's agent avatar with the project's default avatar, a generated planet image derived from the project ID, and returns the updated agent profile. The reset does not restore an earlier avatar: a custom avatar it replaces is discarded and must be uploaded and committed again to use it. When the default avatar is already in use, the profile is returned unchanged. This does not change the account's personal profile picture. Supply the required Idempotency-Key header.","operationId":"resetAgentProfileAvatar","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfile"}}},"description":"The agent profile with the project's default avatar.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAgentProfileAvatarBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAgentProfileAvatarForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAgentProfileAvatarUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ResetAgentProfileAvatarGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Reset agent avatar","tags":["Agent Profile"],"x-required-permissions":["project:write"]},"put":{"description":"Commits an agent avatar previously uploaded through createAgentProfileAvatarUpload. Call this only after the direct multipart upload succeeds, using the uploadId from the same upload session and a stable Idempotency-Key. The service validates the temporary object's Project ownership, size, content type, image bytes, dimensions, encryption, and age before changing the agent profile.","operationId":"commitAgentProfileAvatar","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitAgentProfileAvatarRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfile"}}},"description":"The agent profile with its committed avatar.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAgentProfileAvatarBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAgentProfileAvatarForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAgentProfileAvatarUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CommitAgentProfileAvatarGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Commit agent avatar","tags":["Agent Profile"],"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/agent-profile/avatar/uploads":{"post":{"description":"Creates a ten-minute, Project-bound presigned S3 POST for a JPEG, PNG, or WebP agent avatar up to 5 MiB. Copy every returned formFields entry into a multipart/form-data request to uploadUrl, append the local file as the final form part, and upload it directly without sending Photon credentials. After the upload succeeds, call commitAgentProfileAvatar with the returned uploadId. Do not cache or log the upload URL or form fields.","operationId":"createAgentProfileAvatarUpload","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentProfileAvatarUploadRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfileAvatarUpload"}}},"description":"A short-lived, project-bound presigned S3 POST.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAgentProfileAvatarUploadForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateAgentProfileAvatarUploadGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create agent avatar upload","tags":["Agent Profile"],"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/api-keys":{"get":{"description":"Lists the API keys on the selected project, ordered newest first. Revoked keys are not listed; expired keys stay listed until they are revoked. Entries contain key metadata and permissions, never secret values. Use the returned identifiers to manage an existing key; lost secrets cannot be recovered through this operation.","operationId":"listProjectApiKeys","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectApiKeysResponse"}}},"description":"The project's keys that have not been revoked, newest first. Never includes secrets.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectApiKeysForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"List project API keys","tags":["API keys"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:manage_api_keys"]},"post":{"description":"Creates a key bound to the selected project using the supplied name, permissions and optional expiry. The secret is returned only in this response and in idempotent replays of it; store it securely because other reads never return it. The key is scoped to this project and does not grant account-level access. Supply the required Idempotency-Key header.","operationId":"createProjectApiKey","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectApiKeyRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectApiKeyResponse"}}},"description":"The created key, with its secret. The secret is returned only in this response and in idempotent replays of it, and cannot be recovered through any other operation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectApiKeyBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectApiKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiKeyLimitReachedProblem"}}},"description":"API_KEY_LIMIT_REACHED: API Key Limit Reached","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateProjectApiKeyUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Create project API key","tags":["API keys"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:manage_api_keys"]}},"/v1/projects/{projectId}/api-keys/{apiKeyId}":{"delete":{"description":"Revokes the identified key on the selected project and returns its revoked metadata. Repeating the deletion returns the same revokedAt value. This operation does not rotate the key or return a replacement secret. Supply the required Idempotency-Key header.","operationId":"revokeProjectApiKey","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectApiKeyResponse"}}},"description":"The revoked key. Repeating the delete returns the same revokedAt.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeProjectApiKeyBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeProjectApiKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeProjectApiKeyNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found; API_KEY_NOT_FOUND: API Key Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RevokeProjectApiKeyUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Revoke project API key","tags":["API keys"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:manage_api_keys"]},"patch":{"description":"Replaces the identified project key's permission list with the supplied permissions and returns the updated metadata. Sending the permission list the key already has leaves it unchanged. This request does not create a new secret or change the key's project binding. Supply the required Idempotency-Key header.","operationId":"updateProjectApiKey","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectApiKeyRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectApiKeyResponse"}}},"description":"The key with its new permission list. Sending the list it already holds returns it unchanged.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectApiKeyBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectApiKeyForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectApiKeyNotFoundProblem"}}},"description":"PROJECT_NOT_FOUND: Project Not Found; API_KEY_NOT_FOUND: API Key Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiKeyRevokedProblem"}}},"description":"API_KEY_REVOKED: API Key Revoked","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProjectDeletedProblem"}}},"description":"PROJECT_DELETED: Project Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateProjectApiKeyUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]}],"summary":"Update project API key permissions","tags":["API keys"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:manage_api_keys"]}},"/v1/projects/{projectId}/billing":{"get":{"description":"Returns the selected project's plan information, entitlements and current billing-period usage. This operation reads project billing state; it does not change plans or the payer's payment method. Organization-level plans are available through the organization billing overview.","operationId":"getBillingOverview","parameters":[{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBillingOverviewResponse"}}},"description":"Plan, entitlements, and current-period usage.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOverviewForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOverviewInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOverviewServiceUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable; BILLING_ENTITLEMENTS_PENDING: Billing Entitlements Pending\n\nUPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOverviewGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read_usage"]}],"summary":"Get project billing overview","tags":["Project Billing"],"x-required-permissions":["project:read_usage"]}},"/v1/projects/{projectId}/billing/operations/{operationId}":{"get":{"description":"Returns the authoritative state of a billing operation belonging to the selected project. Use it to recover or poll a plan-change request until the operation reaches success or failure. An accepted request is not evidence that the plan change has completed.","operationId":"getBillingOperation","parameters":[{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"Operation id returned by a purchase or quantity change.","in":"path","name":"operationId","required":true,"schema":{"pattern":"^pho_bop_.*","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingOperation"}}},"description":"Authoritative recovery snapshot for a billing operation.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOperationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/OperationNotFoundProblem"}}},"description":"OPERATION_NOT_FOUND: Operation Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOperationInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetBillingOperationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read_usage"]}],"summary":"Get billing operation","tags":["Project Billing"],"x-required-permissions":["project:read_usage"]}},"/v1/projects/{projectId}/billing/plans":{"get":{"description":"Lists the billing plan catalog, grouped by their public plan-metadata type. Use the returned plan information when choosing the category and planCode for a plan change. The catalog is the same for every project, and reading it does not purchase a plan.","operationId":"listBillingPlans","parameters":[{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBillingPlansResponse"}}},"description":"Billing plans grouped by their public plan-metadata type.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListBillingPlansForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListBillingPlansInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListBillingPlansGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read_usage"]}],"summary":"List billing plans","tags":["Project Billing"],"x-required-permissions":["project:read_usage"]}},"/v1/projects/{projectId}/billing/subscriptions":{"get":{"description":"Lists the plan each of the selected project's categories holds, with its price and the payer's standing. It suits showing a project's plan wherever projects are listed; the billing overview adds billing periods, fixed charges, entitlements and usage.","operationId":"listProjectSubscriptions","parameters":[{"description":"The project being billed.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProjectSubscriptionsResponse"}}},"description":"The plan each category holds.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectSubscriptionsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectSubscriptionsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListProjectSubscriptionsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read_usage"]}],"summary":"List project subscriptions","tags":["Project Billing"],"x-required-permissions":["project:read_usage"]}},"/v1/projects/{projectId}/developer/otel/logs":{"get":{"description":"Returns Project-visible Developer LogRecords in Timestamp, TraceId, SpanId descending order. The from/to range uses RFC 3339 timestamps at millisecond precision. Keep the range and filters fixed while incrementing offset; no total or page token is calculated.","operationId":"listDeveloperOtelLogs","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"RFC 3339 timestamp with at most three fractional digits (millisecond precision).","in":"query","name":"from","required":true,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"RFC 3339 timestamp with at most three fractional digits (millisecond precision).","in":"query","name":"to","required":true,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"severityText","schema":{"maxLength":64,"minLength":1,"type":"string"}},{"in":"query","name":"minimumSeverityNumber","schema":{"maximum":24,"minimum":1,"type":"integer"}},{"in":"query","name":"bodyContains","schema":{"maxLength":1024,"minLength":1,"type":"string"}},{"in":"query","name":"traceId","schema":{"pattern":"^[0-9a-f]{32}$","type":"string"}},{"in":"query","name":"spanId","schema":{"pattern":"^[0-9a-f]{16}$","type":"string"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"maximum":1000000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsResponse"}}},"description":"A bounded page of Developer LogRecords.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; INVALID_QUERY: Invalid Developer OTel Query; FORBIDDEN_SQL: Forbidden Developer OTel SQL; INVALID_PARAMETER: Invalid Developer OTel Query Parameter","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; RESOURCE_LIMIT: Developer OTel Query Resource Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsBadGatewayProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure; EXECUTION_FAILED: Developer OTel Query Execution Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperOtelLogsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout; TIMEOUT: Developer OTel Query Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"List Developer OTel log records","tags":["Developer OTel"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/developer/otel/query":{"get":{"description":"Returns the logical tables and columns the advanced query endpoint can read, together with the supported SQL capabilities and request limits. Callers, especially agents, should read this schema instead of guessing column names.","operationId":"getDeveloperOtelQuerySchema","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaResponse"}}},"description":"The advanced query schema.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; INVALID_QUERY: Invalid Developer OTel Query; FORBIDDEN_SQL: Forbidden Developer OTel SQL; INVALID_PARAMETER: Invalid Developer OTel Query Parameter","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; RESOURCE_LIMIT: Developer OTel Query Resource Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaBadGatewayProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure; EXECUTION_FAILED: Developer OTel Query Execution Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperOtelQuerySchemaGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout; TIMEOUT: Developer OTel Query Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get the Developer OTel query schema","tags":["Developer OTel"],"x-required-permissions":["project:read"]},"post":{"description":"Executes one parameterized, read-only ClickHouse SELECT statement against the current Project's otel_logs and otel_traces data. Supports non-recursive CTEs, subqueries, and JOINs; UNION and SELECT without FROM remain disabled, as do GLOBAL, ASOF, and PASTE JOIN. Every source is subject to the authorized Project's Row Policies. This advanced endpoint supplements the basic resource endpoints.","operationId":"queryDeveloperOtel","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickHouseSqlQueryRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelResponse"}}},"description":"Dynamic SQL columns and rows followed by bounded ClickHouse read statistics.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; INVALID_QUERY: Invalid Developer OTel Query; FORBIDDEN_SQL: Forbidden Developer OTel SQL; INVALID_PARAMETER: Invalid Developer OTel Query Parameter","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; RESOURCE_LIMIT: Developer OTel Query Resource Limit; UNSUPPORTED_TYPE: Unsupported Developer OTel Query Type","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelBadGatewayProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure; EXECUTION_FAILED: Developer OTel Query Execution Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryDeveloperOtelGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout; TIMEOUT: Developer OTel Query Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Query Developer OTel data","tags":["Developer OTel"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/developer/otel/traces":{"get":{"description":"Returns root Span summaries in Timestamp and TraceId descending order. The from/to range uses RFC 3339 timestamps at millisecond precision. Keep the range and filters fixed while incrementing offset; no total or page token is calculated.","operationId":"listDeveloperTraces","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"RFC 3339 timestamp with at most three fractional digits (millisecond precision).","in":"query","name":"from","required":true,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"description":"RFC 3339 timestamp with at most three fractional digits (millisecond precision).","in":"query","name":"to","required":true,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|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)))$","type":"string"}},{"in":"query","name":"requestId","schema":{"maxLength":128,"minLength":1,"type":"string"}},{"in":"query","name":"apiKeyId","schema":{"maxLength":128,"minLength":1,"type":"string"}},{"in":"query","name":"route","schema":{"maxLength":512,"minLength":1,"type":"string"}},{"in":"query","name":"httpMethod","schema":{"pattern":"^[A-Z]{1,32}$","type":"string"}},{"in":"query","name":"httpStatusCode","schema":{"maximum":599,"minimum":100,"type":"integer"}},{"in":"query","name":"httpStatusClass","schema":{"enum":["1xx","2xx","3xx","4xx","5xx"],"type":"string"}},{"in":"query","name":"status","schema":{"enum":["Ok","Error","Unset"],"type":"string"}},{"in":"query","name":"type","schema":{"enum":["request","delivery"],"type":"string"}},{"in":"query","name":"minimumDurationMs","schema":{"maximum":18446744073709,"minimum":0,"type":"integer"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"maximum":1000000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesResponse"}}},"description":"A bounded page of Developer trace summaries.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; INVALID_QUERY: Invalid Developer OTel Query; FORBIDDEN_SQL: Forbidden Developer OTel SQL; INVALID_PARAMETER: Invalid Developer OTel Query Parameter","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; RESOURCE_LIMIT: Developer OTel Query Resource Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesBadGatewayProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure; EXECUTION_FAILED: Developer OTel Query Execution Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListDeveloperTracesGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout; TIMEOUT: Developer OTel Query Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"List Developer traces","tags":["Developer OTel"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/developer/otel/traces/{traceId}":{"get":{"description":"Returns the complete Project-visible stored OTLP trace without rewriting Span fields or attributes.","operationId":"getDeveloperTrace","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"path","name":"traceId","required":true,"schema":{"pattern":"^[0-9a-f]{32}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceResponse"}}},"description":"The stored OTLP trace.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceBadRequestProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument; INVALID_QUERY: Invalid Developer OTel Query; FORBIDDEN_SQL: Forbidden Developer OTel SQL; INVALID_PARAMETER: Invalid Developer OTel Query Parameter","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeveloperTraceNotFoundProblem"}}},"description":"DEVELOPER_TRACE_NOT_FOUND: Developer Trace Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; RESOURCE_LIMIT: Developer OTel Query Resource Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceInternalServerErrorProblem"}}},"description":"INVALID_AUTH_CONTEXT: Invalid Authentication Context\n\nINTERNAL_ERROR: Internal Server Error","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceBadGatewayProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure; EXECUTION_FAILED: Developer OTel Query Execution Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetDeveloperTraceGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout; TIMEOUT: Developer OTel Query Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get a Developer trace","tags":["Developer OTel"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/metrics/backfill":{"get":{"description":"Returns historical metrics update progress. Completion reflects lastVerifiedAt; queries remain available during updates.","operationId":"getMessageMetricsBackfill","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"API schema date. Defaults to the latest served version; resolves to the latest served date on or before this value.","in":"header","name":"x-photon-version","schema":{"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])))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageMetricsBackfillResponse"}}},"description":"Project-scoped backfill progress.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMessageMetricsBackfillForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get metrics backfill status","tags":["Messaging & Voice Metrics"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/metrics/query":{"get":{"description":"Returns the message_events and call_events SQL schema, supported queries, and limits for the selected API version.","operationId":"getMessageMetricsSqlSchema","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"API schema date. Defaults to the latest served version; resolves to the latest served date on or before this value.","in":"header","name":"x-photon-version","schema":{"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])))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageMetricsSqlSchemaResponse"}}},"description":"The Project-scoped SQL surface of the resolved contracts date.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetMessageMetricsSqlSchemaForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Get metrics SQL schema","tags":["Messaging & Voice Metrics"],"x-required-permissions":["project:read"]},"post":{"description":"Runs read-only SQL over the Project's message_events or call_events table. Get the SQL schema for supported columns, capabilities, and limits.","operationId":"queryMessageMetrics","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"description":"API schema date. Defaults to the latest served version; resolves to the latest served date on or before this value.","in":"header","name":"x-photon-version","schema":{"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])))$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickHouseSqlQueryRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryMessageMetricsResponse"}}},"description":"Dynamic SQL columns and rows followed by bounded ClickHouse read statistics.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryMessageMetricsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryMessageMetricsUnprocessableEntityProblem"}}},"description":"QUERY_RESOURCE_LIMIT: Query Resource Limit; VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryConcurrencyLimitProblem"}}},"description":"QUERY_CONCURRENCY_LIMIT: Query Concurrency Limit","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/QueryMessageMetricsGatewayTimeoutProblem"}}},"description":"UPSTREAM_TIMEOUT: Upstream Service Timeout; REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"Query metrics","tags":["Messaging & Voice Metrics"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/webhooks/api-versions":{"get":{"description":"Lists the published webhook payload API versions and their lifecycle metadata. The list is the same for every project. Use the selectable indicator when choosing a version for a destination. These payload dates are separate from SDK package versions. An authorized conditional request may return 304 without a response body.","operationId":"listWebhookApiVersions","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhookApiVersionsResponse"}}},"description":"Published webhook payload API versions.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The authorized cached representation is current; no response body.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookApiVersionsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookApiVersionsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List webhook API versions","tags":["Webhook Event Catalog"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/webhooks/destinations":{"get":{"description":"Returns a cursor-paginated page of active webhook destinations configured for the selected project. Use pageSize and pageToken to navigate it. The listing returns destination configuration, never signing secrets.","operationId":"listWebhookDestinations","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"query","name":"pageSize","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"pageToken","schema":{"maxLength":2048,"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationPage"}}},"description":"One page of active webhook destinations.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookDestinationsForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookDestinationsGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List webhook destinations","tags":["Webhook Destinations"],"x-required-permissions":["project:read"]},"post":{"description":"Creates a webhook destination for the selected project using its URL, payload API version, event selection and other documented settings. The response includes the signing secret, which is returned only in this response and in idempotent replays of it, never by destination reads; store it securely for signature verification. The API version must be selectable and selected event types must belong to that version's catalog. Supply the required Idempotency-Key header.","operationId":"createWebhookDestination","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationResponse"}}},"description":"The created destination and its signing secret.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDestinationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Create webhook destination","tags":["Webhook Destinations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/webhooks/destinations/{destinationId}":{"delete":{"description":"Deletes the selected project's destination and returns its stable tombstone. Repeated deletion returns the deletion representation. This operation removes the destination configuration; it is separate from disabling a destination through an update.","operationId":"deleteWebhookDestination","parameters":[{"in":"path","name":"destinationId","required":true,"schema":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDestination"}}},"description":"The stable webhook destination tombstone.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteWebhookDestinationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationNotFoundProblem"}}},"description":"WEBHOOK_DESTINATION_NOT_FOUND: Webhook Destination Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeleteWebhookDestinationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Delete webhook destination","tags":["Webhook Destinations"],"x-required-permissions":["project:write"]},"get":{"description":"Returns the configuration of one webhook destination belonging to the selected project. Missing or deleted destinations are reported as errors. This read does not disclose the signing secret returned when the destination or a secret rotation was created.","operationId":"getWebhookDestination","parameters":[{"in":"path","name":"destinationId","required":true,"schema":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDestination"}}},"description":"The requested webhook destination.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWebhookDestinationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationNotFoundProblem"}}},"description":"WEBHOOK_DESTINATION_NOT_FOUND: Webhook Destination Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationDeletedProblem"}}},"description":"WEBHOOK_DESTINATION_DELETED: Webhook Destination Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWebhookDestinationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get webhook destination","tags":["Webhook Destinations"],"x-required-permissions":["project:read"]},"patch":{"description":"Updates the supplied URL, name, description, status or enabledEvents fields on a project's webhook destination and returns its updated configuration. The payload API version is not a mutable field in this request. Event selections are checked against the destination's versioned catalog; signing-secret rotation is a separate operation. Supply the required Idempotency-Key header.","operationId":"updateWebhookDestination","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"destinationId","required":true,"schema":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDestinationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDestination"}}},"description":"The updated webhook destination.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDestinationBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDestinationForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationNotFoundProblem"}}},"description":"WEBHOOK_DESTINATION_NOT_FOUND: Webhook Destination Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationDeletedProblem"}}},"description":"WEBHOOK_DESTINATION_DELETED: Webhook Destination Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDestinationUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDestinationGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Update webhook destination","tags":["Webhook Destinations"],"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/webhooks/destinations/{destinationId}/retries":{"post":{"description":"Requests an immediate attempt of the selected delivery if it is still the waiting head for its destination and event type. expectedAttemptCount is the failed-attempt counter recorded on the delivery and fences stale requests. This overrides the current backoff, including Retry-After, once. It preserves event identity and the retry budget. Delivered, active, disabled and dead-lettered deliveries cannot be retried. A 202 acknowledges the wake-up, not successful delivery. Supply an Idempotency-Key and retain it when retrying an ambiguous failure.","operationId":"retryWebhookDelivery","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"destinationId","required":true,"schema":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryWebhookDeliveryRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryWebhookDeliveryResponse"}}},"description":"The waiting delivery was made eligible for an immediate attempt.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetryWebhookDeliveryBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RetryWebhookDeliveryForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationNotFoundProblem"}}},"description":"WEBHOOK_DESTINATION_NOT_FOUND: Webhook Destination Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/FailedPreconditionProblem"}}},"description":"FAILED_PRECONDITION: Failed Precondition","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Retry webhook delivery","tags":["Webhook Delivery"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/webhooks/destinations/{destinationId}/secret-rotations":{"post":{"description":"Rotates the signing secret for the selected project's webhook destination and returns the new secret. The optional overlapSeconds controls the requested overlap with the previous secret according to the documented request constraints. Store the new secret securely and update the receiver's signature verification configuration; it is returned only in this response and in idempotent replays of it, never by destination reads. Supply the required Idempotency-Key header.","operationId":"rotateWebhookSigningSecret","parameters":[{"description":"Identifies one logical mutation across retries.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7e]{1,255}$","type":"string"}},{"in":"path","name":"destinationId","required":true,"schema":{"pattern":"^pho_whd_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretResponse"}}},"description":"The new signing secret.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretBadRequestProblem"}}},"description":"IDEMPOTENCY_KEY_REQUIRED: Idempotency Key Required; IDEMPOTENCY_KEY_INVALID: Idempotency Key Invalid; INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationNotFoundProblem"}}},"description":"WEBHOOK_DESTINATION_NOT_FOUND: Webhook Destination Not Found","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/WebhookDestinationDeletedProblem"}}},"description":"WEBHOOK_DESTINATION_DELETED: Webhook Destination Deleted","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"description":"PAYLOAD_TOO_LARGE: Payload Too Large","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretUnprocessableEntityProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed; IDEMPOTENCY_KEY_REUSED: Idempotency Key Reused","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RotateWebhookSigningSecretGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Rotate webhook signing secret","tags":["Webhook Destinations"],"x-photon-mcp":{"enabled":false},"x-required-permissions":["project:write"]}},"/v1/projects/{projectId}/webhooks/egress-addresses":{"get":{"description":"Returns the public network addresses from which this environment sends webhook deliveries. Use this information when configuring the receiving system's network allowlist. The result is environment-specific and does not describe the API service's ingress addresses.","operationId":"listWebhookEgressAddresses","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhookEgressAddressesResponse"}}},"description":"The public addresses webhook deliveries originate from in this environment.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The authorized cached representation is current; no response body.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookEgressAddressesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RequestTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]},{"oauth2":["project:read"]}],"summary":"List webhook egress addresses","tags":["Webhook Delivery"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/webhooks/event-types":{"get":{"description":"Lists the webhook event types available in the requested apiVersion, including their descriptions, audiences and reader-schema URLs. Use this versioned catalog when selecting a destination's enabledEvents. The response may include version-retirement information; an authorized conditional request can return 304 without a body.","operationId":"listWebhookEventTypes","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"query","name":"apiVersion","required":true,"schema":{"format":"date","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhookEventTypesResponse"}}},"description":"Events available in the selected API version.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The authorized cached representation is current; no response body.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookEventTypesForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListWebhookEventTypesGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"List webhook event types","tags":["Webhook Event Catalog"],"x-required-permissions":["project:read"]}},"/v1/projects/{projectId}/webhooks/event-types/{eventType}/schema":{"get":{"description":"Returns the published reader JSON Schema for eventType in the requested webhook apiVersion. Use it to interpret events for that exact payload version. The response media type is application/schema+json; an authorized conditional request may return 304 without a body. Unsupported event/version combinations are rejected.","operationId":"getWebhookEventSchema","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"pattern":"^pho_prj_[0-7][0-9a-hjkmnp-tv-z]{25}$","type":"string"}},{"in":"path","name":"eventType","required":true,"schema":{"pattern":"^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9_-]*)+$","type":"string"}},{"in":"query","name":"apiVersion","required":true,"schema":{"format":"date","type":"string"}}],"responses":{"200":{"content":{"application/schema+json":{"schema":{"$ref":"#/components/schemas/WebhookEventSchema"}}},"description":"The published reader JSON Schema for the event.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"304":{"description":"The authorized cached representation is current; no response body.","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentProblem"}}},"description":"INVALID_ARGUMENT: Invalid Argument","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAuthenticatedProblem"}}},"description":"NOT_AUTHENTICATED: Not Authenticated","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"WWW-Authenticate":{"required":true,"schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWebhookEventSchemaForbiddenProblem"}}},"description":"FORBIDDEN: Forbidden; RESOURCE_MISMATCH: Resource Mismatch\n\nFORBIDDEN: Forbidden; INSUFFICIENT_SCOPE: Insufficient Scope; ORGANIZATION_SSO_REQUIRED: Organization SSO Required","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationFailedProblem"}}},"description":"VALIDATION_FAILED: Request Validation Failed","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalErrorProblem"}}},"description":"INTERNAL_ERROR: Internal Server Error","headers":{"Link":{"description":"Optional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Optional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Optional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Optional retry delay or HTTP date.","schema":{"type":"string"}},"X-Request-ID":{"description":"Application request identifier.","schema":{"type":"string"}}}},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamFailureProblem"}}},"description":"UPSTREAM_FAILURE: Upstream Service Failure","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UpstreamUnavailableProblem"}}},"description":"UPSTREAM_UNAVAILABLE: Upstream Service Unavailable","headers":{"Deprecation":{"description":"RFC 9745 structured-field Date at which the operation was or will be deprecated: `@` followed by Unix seconds, for example `@1767225599`.","schema":{"pattern":"^@-?[0-9]+$","type":"string"}},"Idempotent-Replayed":{"description":"True when this response was replayed from an earlier attempt.","schema":{"type":"boolean"}},"Link":{"description":"Links related to lifecycle or remediation documentation.\n\nOptional related resources.","schema":{"type":"string"}},"RateLimit":{"description":"Current rate-limit state.\n\nOptional rate limit information.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"Rate-limit policy applied by the gateway.\n\nOptional rate limit policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay before retrying, in seconds or as an HTTP date.\n\nOptional retry delay or HTTP date.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date (IMF-fixdate) after which the operation may become unavailable, for example `Thu, 31 Dec 2026 23:59:59 GMT`.","schema":{"pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$","type":"string"}},"X-Request-ID":{"description":"Identifier for this HTTP attempt.\n\nApplication request identifier.","schema":{"type":"string"}},"X-Trace-ID":{"description":"Trace ID of this request. Sent alongside X-Request-ID when a middleware published a trace ID for the request.","schema":{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"}}}},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GetWebhookEventSchemaGatewayTimeoutProblem"}}},"description":"REQUEST_TIMEOUT: Request Timeout; UPSTREAM_TIMEOUT: Upstream Service Timeout","headers":{"Deprecation":{"$ref":"#/components/headers/Deprecation"},"Idempotent-Replayed":{"$ref":"#/components/headers/Idempotent-Replayed"},"Link":{"$ref":"#/components/headers/Link"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"Sunset":{"$ref":"#/components/headers/Sunset"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"X-Trace-ID":{"$ref":"#/components/headers/X-Trace-ID"}}}},"security":[{"accountServiceKey":[]},{"projectApiKey":[]}],"summary":"Get webhook event schema","tags":["Webhook Event Catalog"],"x-required-permissions":["project:read"]}}},"servers":[{"url":"https://api.photon.codes"}]}