diff --git a/server/svix-server/src/lib.rs b/server/svix-server/src/lib.rs index 24fca481e..6c9b79685 100644 --- a/server/svix-server/src/lib.rs +++ b/server/svix-server/src/lib.rs @@ -400,7 +400,7 @@ mod docs { } async fn get_openapi_json() -> impl IntoResponse { - static BODY: &str = include_str!("static/openapi.json"); + static BODY: &str = include_str!("../../openapi.json"); ([(http::header::CONTENT_TYPE, "application/json")], BODY) } } diff --git a/server/svix-server/src/static/openapi.json b/server/svix-server/src/static/openapi.json deleted file mode 100644 index 39dddd376..000000000 --- a/server/svix-server/src/static/openapi.json +++ /dev/null @@ -1,7834 +0,0 @@ -{ - "components": { - "schemas": { - "AppPortalAccessIn": { - "properties": { - "featureFlags": { - "description": "The set of feature flags the created token will have access to.", - "example": [], - "items": { - "example": "cool-new-feature", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "AppPortalAccessOut": { - "properties": { - "token": { - "example": "appsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O", - "type": "string" - }, - "url": { - "example": "https://app.svix.com/login#key=eyJhcHBJZCI6ICJhcHBfMXRSdFl", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "token", - "url" - ], - "type": "object" - }, - "ApplicationIn": { - "properties": { - "metadata": { - "additionalProperties": { - "type": "string" - }, - "default": {}, - "type": "object" - }, - "name": { - "example": "My first application", - "minLength": 1, - "type": "string" - }, - "rateLimit": { - "format": "uint16", - "minimum": 1, - "nullable": true, - "type": "integer" - }, - "uid": { - "description": "Optional unique identifier for the application", - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "ApplicationOut": { - "properties": { - "createdAt": { - "format": "date-time", - "type": "string" - }, - "id": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "name": { - "example": "My first application", - "type": "string" - }, - "rateLimit": { - "format": "uint16", - "minimum": 0, - "nullable": true, - "type": "integer" - }, - "uid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "createdAt", - "id", - "metadata", - "name", - "updatedAt" - ], - "type": "object" - }, - "ApplicationPatch": { - "properties": { - "metadata": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "rateLimit": { - "format": "uint16", - "minimum": 0, - "nullable": true, - "type": "integer" - }, - "uid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "type": "object" - }, - "BackgroundTaskStatus": { - "enum": [ - "running" - ], - "type": "string" - }, - "BackgroundTaskType": { - "enum": [ - "endpoint.recover" - ], - "type": "string" - }, - "DashboardAccessOut": { - "properties": { - "token": { - "example": "appsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O", - "type": "string" - }, - "url": { - "example": "https://app.svix.com/login#key=eyJhcHBJZCI6ICJhcHBfMXRSdFl", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "token", - "url" - ], - "type": "object" - }, - "EndpointCreatedEvent": { - "description": "Sent when an endpoint is created.", - "properties": { - "data": { - "$ref": "#/components/schemas/EndpointCreatedEventData" - }, - "type": { - "default": "endpoint.created", - "enum": [ - "endpoint.created" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "EndpointCreatedEventData": { - "description": "Sent when an endpoint is created, updated, or deleted", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "endpointUid": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId" - ], - "type": "object" - }, - "EndpointDeletedEvent": { - "description": "Sent when an endpoint is deleted.", - "properties": { - "data": { - "$ref": "#/components/schemas/EndpointDeletedEventData" - }, - "type": { - "default": "endpoint.deleted", - "enum": [ - "endpoint.deleted" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "EndpointDeletedEventData": { - "description": "Sent when an endpoint is created, updated, or deleted", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "endpointUid": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId" - ], - "type": "object" - }, - "EndpointDisabledEvent": { - "description": "Sent when an endpoint has been automatically disabled after continuous failures.", - "properties": { - "data": { - "$ref": "#/components/schemas/EndpointDisabledEventData" - }, - "type": { - "default": "endpoint.disabled", - "enum": [ - "endpoint.disabled" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "EndpointDisabledEventData": { - "description": "Sent when an endpoint has been automatically disabled after continuous failures.", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "endpointUid": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "failSince": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId", - "failSince" - ], - "type": "object" - }, - "EndpointHeadersIn": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "example": { - "X-Example": "123", - "X-Foobar": "Bar" - }, - "type": "object" - } - }, - "required": [ - "headers" - ], - "type": "object" - }, - "EndpointHeadersOut": { - "description": "The value of the headers is returned in the `headers` field.\n\nSensitive headers that have been redacted are returned in the sensitive field.", - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "example": { - "X-Example": "123", - "X-Foobar": "Bar" - }, - "type": "object" - }, - "sensitive": { - "example": [ - "Authorization" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "headers", - "sensitive" - ], - "type": "object" - }, - "EndpointHeadersPatchIn": { - "properties": { - "headers": { - "additionalProperties": { - "nullable": true, - "type": "string" - }, - "example": { - "X-Example": "123", - "X-Foobar": "Bar" - }, - "type": "object" - } - }, - "required": [ - "headers" - ], - "type": "object" - }, - "EndpointIn": { - "properties": { - "channels": { - "description": "List of message channels this endpoint listens to (omit for all)", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "description": { - "default": "", - "example": "An example endpoint name", - "type": "string" - }, - "disabled": { - "default": false, - "example": false, - "type": "boolean" - }, - "filterTypes": { - "example": [ - "user.signup", - "user.deleted" - ], - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "default": {}, - "type": "object" - }, - "rateLimit": { - "format": "uint16", - "minimum": 1, - "nullable": true, - "type": "integer" - }, - "secret": { - "description": "The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.", - "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", - "nullable": true, - "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", - "type": "string" - }, - "uid": { - "description": "Optional unique identifier for the endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - }, - "version": { - "default": 1, - "deprecated": true, - "example": 1, - "format": "uint16", - "minimum": 1, - "nullable": true, - "type": "integer" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "EndpointMessageOut": { - "description": "A model containing information on a given message plus additional fields on the last attempt for that message.", - "properties": { - "channels": { - "description": "List of free-form identifiers that endpoints can filter by", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "eventId": { - "description": "Optional unique identifier for the message", - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "eventType": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "id": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "nextAttempt": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "payload": { - "example": { - "email": "test@example.com", - "username": "test_user" - }, - "type": "object" - }, - "status": { - "$ref": "#/components/schemas/MessageStatus" - }, - "timestamp": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "eventType", - "id", - "payload", - "status", - "timestamp" - ], - "type": "object" - }, - "EndpointOut": { - "properties": { - "channels": { - "description": "List of message channels this endpoint listens to (omit for all)", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "description": { - "description": "An example endpoint name", - "type": "string" - }, - "disabled": { - "default": false, - "example": false, - "type": "boolean" - }, - "filterTypes": { - "example": [ - "user.signup", - "user.deleted" - ], - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "id": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "rateLimit": { - "format": "uint16", - "minimum": 0, - "nullable": true, - "type": "integer" - }, - "uid": { - "description": "Optional unique identifier for the endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - }, - "version": { - "deprecated": true, - "example": 1, - "format": "uint16", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "createdAt", - "description", - "id", - "metadata", - "updatedAt", - "url", - "version" - ], - "type": "object" - }, - "EndpointPatch": { - "properties": { - "channels": { - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "description": { - "type": "string" - }, - "disabled": { - "type": "boolean" - }, - "filterTypes": { - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "rateLimit": { - "format": "uint16", - "minimum": 0, - "nullable": true, - "type": "integer" - }, - "secret": { - "description": "The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.", - "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", - "nullable": true, - "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", - "type": "string" - }, - "uid": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - }, - "version": { - "deprecated": true, - "example": 1, - "format": "uint16", - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "EndpointSecretOut": { - "properties": { - "key": { - "description": "The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.", - "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", - "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", - "type": "string" - } - }, - "required": [ - "key" - ], - "type": "object" - }, - "EndpointSecretRotateIn": { - "properties": { - "key": { - "default": null, - "description": "The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.", - "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", - "nullable": true, - "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", - "type": "string" - } - }, - "type": "object" - }, - "EndpointStats": { - "properties": { - "fail": { - "format": "int64", - "type": "integer" - }, - "pending": { - "format": "int64", - "type": "integer" - }, - "sending": { - "format": "int64", - "type": "integer" - }, - "success": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "fail", - "pending", - "sending", - "success" - ], - "type": "object" - }, - "EndpointStatsRange": { - "properties": { - "since": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "until": { - "format": "date-time", - "nullable": true, - "type": "string" - } - }, - "type": "object" - }, - "EndpointUpdate": { - "properties": { - "channels": { - "description": "List of message channels this endpoint listens to (omit for all)", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "description": { - "default": "", - "example": "An example endpoint name", - "type": "string" - }, - "disabled": { - "default": false, - "example": false, - "type": "boolean" - }, - "filterTypes": { - "example": [ - "user.signup", - "user.deleted" - ], - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "default": {}, - "type": "object" - }, - "rateLimit": { - "format": "uint16", - "minimum": 1, - "nullable": true, - "type": "integer" - }, - "uid": { - "description": "Optional unique identifier for the endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - }, - "version": { - "default": 1, - "deprecated": true, - "example": 1, - "format": "uint16", - "minimum": 1, - "nullable": true, - "type": "integer" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "EndpointUpdatedEvent": { - "description": "Sent when an endpoint is updated.", - "properties": { - "data": { - "$ref": "#/components/schemas/EndpointUpdatedEventData" - }, - "type": { - "default": "endpoint.updated", - "enum": [ - "endpoint.updated" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "EndpointUpdatedEventData": { - "description": "Sent when an endpoint is created, updated, or deleted", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "endpointUid": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId" - ], - "type": "object" - }, - "EventExampleIn": { - "properties": { - "eventType": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - } - }, - "required": [ - "eventType" - ], - "type": "object" - }, - "EventTypeIn": { - "properties": { - "archived": { - "default": false, - "example": false, - "type": "boolean" - }, - "deprecated": { - "default": false, - "type": "boolean" - }, - "description": { - "example": "A user has signed up", - "type": "string" - }, - "featureFlag": { - "example": "cool-new-feature", - "maxLength": 256, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "name": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "schemas": { - "additionalProperties": { - "type": "object" - }, - "description": "The schema for the event type for a specific version as a JSON schema.", - "example": { - "1": { - "description": "An invoice was paid by a user", - "properties": { - "invoiceId": { - "description": "The invoice id", - "type": "string" - }, - "userId": { - "description": "The user id", - "type": "string" - } - }, - "required": [ - "invoiceId", - "userId" - ], - "title": "Invoice Paid Event", - "type": "object" - } - }, - "nullable": true, - "type": "object" - } - }, - "required": [ - "description", - "name" - ], - "type": "object" - }, - "EventTypeOut": { - "properties": { - "archived": { - "default": false, - "example": false, - "type": "boolean" - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "deprecated": { - "type": "boolean" - }, - "description": { - "example": "A user has signed up", - "type": "string" - }, - "featureFlag": { - "example": "cool-new-feature", - "maxLength": 256, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "name": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "schemas": { - "additionalProperties": { - "type": "object" - }, - "description": "The schema for the event type for a specific version as a JSON schema.", - "example": { - "1": { - "description": "An invoice was paid by a user", - "properties": { - "invoiceId": { - "description": "The invoice id", - "type": "string" - }, - "userId": { - "description": "The user id", - "type": "string" - } - }, - "required": [ - "invoiceId", - "userId" - ], - "title": "Invoice Paid Event", - "type": "object" - } - }, - "nullable": true, - "type": "object" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "createdAt", - "deprecated", - "description", - "name", - "updatedAt" - ], - "type": "object" - }, - "EventTypePatch": { - "properties": { - "archived": { - "type": "boolean" - }, - "deprecated": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "featureFlag": { - "example": "cool-new-feature", - "maxLength": 256, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "schemas": { - "additionalProperties": { - "type": "object" - }, - "example": { - "description": "An invoice was paid by a user", - "properties": { - "invoiceId": { - "description": "The invoice id", - "type": "string" - }, - "userId": { - "description": "The user id", - "type": "string" - } - }, - "required": [ - "invoiceId", - "userId" - ], - "title": "Invoice Paid Event", - "type": "object" - }, - "nullable": true, - "type": "object" - } - }, - "type": "object" - }, - "EventTypeUpdate": { - "properties": { - "archived": { - "default": false, - "example": false, - "type": "boolean" - }, - "deprecated": { - "default": false, - "type": "boolean" - }, - "description": { - "example": "A user has signed up", - "type": "string" - }, - "featureFlag": { - "example": "cool-new-feature", - "maxLength": 256, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "schemas": { - "additionalProperties": { - "type": "object" - }, - "description": "The schema for the event type for a specific version as a JSON schema.", - "example": { - "1": { - "description": "An invoice was paid by a user", - "properties": { - "invoiceId": { - "description": "The invoice id", - "type": "string" - }, - "userId": { - "description": "The user id", - "type": "string" - } - }, - "required": [ - "invoiceId", - "userId" - ], - "title": "Invoice Paid Event", - "type": "object" - } - }, - "nullable": true, - "type": "object" - } - }, - "required": [ - "description" - ], - "type": "object" - }, - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationErrorItem" - }, - "type": "array" - } - }, - "required": [ - "detail" - ], - "type": "object" - }, - "HttpErrorOut": { - "properties": { - "code": { - "type": "string" - }, - "detail": { - "type": "string" - } - }, - "required": [ - "code", - "detail" - ], - "title": "HttpError", - "type": "object" - }, - "ListResponse_ApplicationOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ApplicationOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_EndpointMessageOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EndpointMessageOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_EndpointOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EndpointOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_EventTypeOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EventTypeOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_MessageAttemptEndpointOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/MessageAttemptEndpointOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_MessageAttemptOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/MessageAttemptOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_MessageEndpointOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/MessageEndpointOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "ListResponse_MessageOut_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/MessageOut" - }, - "type": "array" - }, - "done": { - "type": "boolean" - }, - "iterator": { - "example": "iterator", - "nullable": true, - "type": "string" - }, - "prevIterator": { - "example": "-iterator", - "nullable": true, - "type": "string" - } - }, - "required": [ - "data", - "done" - ], - "type": "object" - }, - "MessageAttempetLast": { - "properties": { - "id": { - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "responseStatusCode": { - "format": "int16", - "type": "integer" - }, - "timestamp": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "id", - "responseStatusCode", - "timestamp" - ], - "type": "object" - }, - "MessageAttemptEndpointOut": { - "properties": { - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "id": { - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "msgId": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "response": { - "example": "{}", - "type": "string" - }, - "responseDurationMs": { - "description": "Response duration in milliseconds.\n\nCurrently, this is not actually recorded in the OSS version of Svix, so this field always has a value of `0`.", - "format": "int64", - "type": "integer" - }, - "responseStatusCode": { - "example": 200, - "format": "int16", - "type": "integer" - }, - "status": { - "$ref": "#/components/schemas/MessageStatus" - }, - "timestamp": { - "format": "date-time", - "type": "string" - }, - "triggerType": { - "$ref": "#/components/schemas/MessageAttemptTriggerType" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "endpointId", - "id", - "msgId", - "response", - "responseDurationMs", - "responseStatusCode", - "status", - "timestamp", - "triggerType", - "url" - ], - "type": "object" - }, - "MessageAttemptExhaustedEvent": { - "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", - "properties": { - "data": { - "$ref": "#/components/schemas/MessageAttemptExhaustedEventData" - }, - "type": { - "default": "message.attempt.exhausted", - "enum": [ - "message.attempt.exhausted" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "MessageAttemptExhaustedEventData": { - "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"message.attempt.exhausted\" type or after it's failed four times as a \"message.attempt.failing\" event.", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "lastAttempt": { - "$ref": "#/components/schemas/MessageAttempetLast" - }, - "msgEventId": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "msgId": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId", - "lastAttempt", - "msgId" - ], - "type": "object" - }, - "MessageAttemptFailingEvent": { - "description": "Sent after a message has been failing for a few times.\nIt's sent on the fourth failure. It complements `message.attempt.exhausted` which is sent after the last failure.", - "properties": { - "data": { - "$ref": "#/components/schemas/MessageAttemptFailingEventData" - }, - "type": { - "default": "message.attempt.failing", - "enum": [ - "message.attempt.failing" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "MessageAttemptFailingEventData": { - "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"message.attempt.exhausted\" type or after it's failed four times as a \"message.attempt.failing\" event.", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "lastAttempt": { - "$ref": "#/components/schemas/MessageAttempetLast" - }, - "msgEventId": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "msgId": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId", - "lastAttempt", - "msgId" - ], - "type": "object" - }, - "MessageAttemptOut": { - "properties": { - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "id": { - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "msgId": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "response": { - "example": "{}", - "type": "string" - }, - "responseDurationMs": { - "description": "Response duration in milliseconds.\n\nCurrently, this is not actually recorded in the OSS version of Svix, so this field always has a value of `0`.", - "format": "int64", - "type": "integer" - }, - "responseStatusCode": { - "example": 200, - "format": "int16", - "type": "integer" - }, - "status": { - "$ref": "#/components/schemas/MessageStatus" - }, - "timestamp": { - "format": "date-time", - "type": "string" - }, - "triggerType": { - "$ref": "#/components/schemas/MessageAttemptTriggerType" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "endpointId", - "id", - "msgId", - "response", - "responseDurationMs", - "responseStatusCode", - "status", - "timestamp", - "triggerType", - "url" - ], - "type": "object" - }, - "MessageAttemptRecoveredEvent": { - "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", - "properties": { - "data": { - "$ref": "#/components/schemas/MessageAttemptRecoveredEventData" - }, - "type": { - "default": "message.attempt.recovered", - "enum": [ - "message.attempt.recovered" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "MessageAttemptRecoveredEventData": { - "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"message.attempt.exhausted\" type or after it's failed four times as a \"message.attempt.failing\" event.", - "properties": { - "appId": { - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "appUid": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "endpointId": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "lastAttempt": { - "$ref": "#/components/schemas/MessageAttempetLast" - }, - "msgEventId": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "msgId": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - } - }, - "required": [ - "appId", - "endpointId", - "lastAttempt", - "msgId" - ], - "type": "object" - }, - "MessageAttemptTriggerType": { - "description": "The reason an attempt was made:\n- Scheduled = 0\n- Manual = 1", - "enum": [ - 0, - 1 - ], - "title": "MessageAttemptTriggerType", - "type": "integer", - "x-enum-varnames": [ - "Scheduled", - "Manual" - ] - }, - "MessageEndpointOut": { - "properties": { - "channels": { - "description": "List of message channels this endpoint listens to (omit for all)", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "createdAt": { - "format": "date-time", - "type": "string" - }, - "description": { - "description": "An example endpoint name", - "type": "string" - }, - "disabled": { - "default": false, - "example": false, - "type": "boolean" - }, - "filterTypes": { - "example": [ - "user.signup", - "user.deleted" - ], - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "id": { - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "nextAttempt": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "rateLimit": { - "format": "uint16", - "minimum": 0, - "nullable": true, - "type": "integer" - }, - "status": { - "$ref": "#/components/schemas/MessageStatus" - }, - "uid": { - "description": "Optional unique identifier for the endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "updatedAt": { - "format": "date-time", - "type": "string" - }, - "url": { - "example": "https://example.com/webhook/", - "format": "uri", - "maxLength": 65536, - "minLength": 1, - "type": "string" - }, - "version": { - "deprecated": true, - "example": 1, - "format": "uint16", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "createdAt", - "description", - "id", - "status", - "updatedAt", - "url", - "version" - ], - "type": "object" - }, - "MessageIn": { - "properties": { - "channels": { - "description": "List of free-form identifiers that endpoints can filter by", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "eventId": { - "description": "Optional unique identifier for the message", - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "eventType": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "payload": { - "example": { - "email": "test@example.com", - "username": "test_user" - }, - "type": "object" - }, - "payloadRetentionPeriod": { - "default": 90, - "example": 90, - "format": "int64", - "maximum": 90, - "minimum": 5, - "type": "integer" - } - }, - "required": [ - "eventType", - "payload" - ], - "type": "object" - }, - "MessageOut": { - "properties": { - "channels": { - "description": "List of free-form identifiers that endpoints can filter by", - "example": [ - "project_123", - "group_2" - ], - "items": { - "example": "project_1337", - "maxLength": 128, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "eventId": { - "description": "Optional unique identifier for the message", - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "eventType": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "id": { - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "payload": { - "example": { - "email": "test@example.com", - "username": "test_user" - }, - "type": "object" - }, - "timestamp": { - "format": "date-time", - "type": "string" - } - }, - "required": [ - "eventType", - "id", - "payload", - "timestamp" - ], - "type": "object" - }, - "MessageStatus": { - "description": "The sending status of the message:\n- Success = 0\n- Pending = 1\n- Fail = 2\n- Sending = 3", - "enum": [ - 0, - 1, - 2, - 3 - ], - "title": "MessageStatus", - "type": "integer", - "x-enum-varnames": [ - "Success", - "Pending", - "Fail", - "Sending" - ] - }, - "Ordering": { - "description": "Defines the ordering in a listing of results.", - "enum": [ - "ascending", - "descending" - ], - "type": "string" - }, - "RecoverIn": { - "properties": { - "since": { - "format": "date-time", - "type": "string" - }, - "until": { - "format": "date-time", - "nullable": true, - "type": "string" - } - }, - "required": [ - "since" - ], - "type": "object" - }, - "RecoverOut": { - "properties": { - "id": { - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/BackgroundTaskStatus" - }, - "task": { - "$ref": "#/components/schemas/BackgroundTaskType" - } - }, - "required": [ - "id", - "status", - "task" - ], - "type": "object" - }, - "StatusCodeClass": { - "description": "The different classes of HTTP status codes:\n- CodeNone = 0\n- Code1xx = 100\n- Code2xx = 200\n- Code3xx = 300\n- Code4xx = 400\n- Code5xx = 500", - "enum": [ - 0, - 100, - 200, - 300, - 400, - 500 - ], - "title": "StatusCodeClass", - "type": "integer", - "x-enum-varnames": [ - "CodeNone", - "Code1xx", - "Code2xx", - "Code3xx", - "Code4xx", - "Code5xx" - ] - }, - "ValidationErrorItem": { - "description": "Validation errors have their own schema to provide context for invalid requests eg. mismatched types and out of bounds values. There may be any number of these per 422 UNPROCESSABLE ENTITY error.", - "properties": { - "loc": { - "description": "The location as a [`Vec`] of [`String`]s -- often in the form `[\"body\", \"field_name\"]`, `[\"query\", \"field_name\"]`, etc. They may, however, be arbitrarily deep.", - "items": { - "type": "string" - }, - "type": "array" - }, - "msg": { - "description": "The message accompanying the validation error item.", - "type": "string" - }, - "type": { - "description": "The type of error, often \"type_error\" or \"value_error\", but sometimes with more context like as \"value_error.number.not_ge\"", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "type": "object" - } - } - }, - "info": { - "description": "", - "title": "Svix API", - "version": "1.1.1", - "x-logo": { - "altText": "Svix Logo", - "url": "https://www.svix.com/static/img/brand-padded.svg" - } - }, - "openapi": "3.0.2", - "paths": { - "/api/v1/app": { - "get": { - "description": "List of all the organization's applications.", - "operationId": "v1.application.list", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "The sorting order of the returned items", - "in": "query", - "name": "order", - "schema": { - "$ref": "#/components/schemas/Ordering", - "description": "The sorting order of the returned items", - "nullable": true - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_ApplicationOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Applications", - "tags": [ - "Application" - ] - }, - "post": { - "description": "Create a new application.", - "operationId": "v1.application.create", - "parameters": [ - { - "description": "Get an existing application, or create a new one if doesn't exist. It's two separate functions in the libs.", - "in": "query", - "name": "get_if_exists", - "schema": { - "default": false, - "description": "Get an existing application, or create a new one if doesn't exist. It's two separate functions in the libs.", - "type": "boolean" - }, - "style": "form" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationIn" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Create Application", - "tags": [ - "Application" - ] - } - }, - "/api/v1/app/{app_id}": { - "delete": { - "description": "Delete an application.", - "operationId": "v1.application.delete", - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Delete Application", - "tags": [ - "Application" - ] - }, - "get": { - "description": "Get an application.", - "operationId": "v1.application.get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Application", - "tags": [ - "Application" - ] - }, - "patch": { - "description": "Partially update an application.", - "operationId": "patch_application", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationPatch" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Patch Application", - "tags": [ - "Application" - ] - }, - "put": { - "description": "Update an application.", - "operationId": "v1.application.update", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationIn" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Update Application", - "tags": [ - "Application" - ] - } - }, - "/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}": { - "get": { - "description": "List attempts by endpoint id", - "operationId": "v1.message-attempt.list-by-endpoint", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the delivery status", - "in": "query", - "name": "status", - "schema": { - "$ref": "#/components/schemas/MessageStatus", - "description": "Filter response based on the delivery status", - "nullable": true - }, - "style": "form" - }, - { - "description": "Filter response based on the HTTP status code", - "in": "query", - "name": "status_code_class", - "schema": { - "$ref": "#/components/schemas/StatusCodeClass", - "description": "Filter response based on the HTTP status code", - "nullable": true - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "When `true` attempt content is included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` attempt content is included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageAttemptOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Attempts By Endpoint", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/attempt/msg/{msg_id}": { - "get": { - "description": "List attempts by message id", - "operationId": "v1.message-attempt.list-by-msg", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the delivery status", - "in": "query", - "name": "status", - "schema": { - "$ref": "#/components/schemas/MessageStatus", - "description": "Filter response based on the delivery status", - "nullable": true - }, - "style": "form" - }, - { - "description": "Filter response based on the HTTP status code", - "in": "query", - "name": "status_code_class", - "schema": { - "$ref": "#/components/schemas/StatusCodeClass", - "description": "Filter response based on the HTTP status code", - "nullable": true - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter the attempts based on the attempted endpoint", - "in": "query", - "name": "endpoint_id", - "schema": { - "description": "Filter the attempts based on the attempted endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "When `true` attempt content is included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` attempt content is included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageAttemptOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Attempts By Msg", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/endpoint": { - "get": { - "description": "List the application's endpoints.", - "operationId": "v1.endpoint.list", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "The sorting order of the returned items", - "in": "query", - "name": "order", - "schema": { - "$ref": "#/components/schemas/Ordering", - "description": "The sorting order of the returned items", - "nullable": true - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_EndpointOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Endpoints", - "tags": [ - "Endpoint" - ] - }, - "post": { - "description": "Create a new endpoint for the application.\n\nWhen `secret` is `null` the secret is automatically generated (recommended)", - "operationId": "v1.endpoint.create", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointIn" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Create Endpoint", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}": { - "delete": { - "description": "Delete an endpoint.", - "operationId": "v1.endpoint.delete", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Delete Endpoint", - "tags": [ - "Endpoint" - ] - }, - "get": { - "description": "Get an endpoint.", - "operationId": "v1.endpoint.get", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Endpoint", - "tags": [ - "Endpoint" - ] - }, - "patch": { - "description": "Partially update an endpoint.", - "operationId": "patch_endpoint", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointPatch" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Patch Endpoint", - "tags": [ - "Endpoint" - ] - }, - "put": { - "description": "Update an endpoint.", - "operationId": "v1.endpoint.update", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointUpdate" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointOut" - } - } - }, - "description": "" - }, - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Update Endpoint", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers": { - "get": { - "description": "Get the additional headers to be sent with the webhook", - "operationId": "v1.endpoint.get-headers", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointHeadersOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Endpoint Headers", - "tags": [ - "Endpoint" - ] - }, - "patch": { - "description": "Partially set the additional headers to be sent with the webhook", - "operationId": "v1.endpoint.patch-headers", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointHeadersPatchIn" - } - } - }, - "required": true - }, - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Patch Endpoint Headers", - "tags": [ - "Endpoint" - ] - }, - "put": { - "description": "Set the additional headers to be sent with the webhook", - "operationId": "v1.endpoint.update-headers", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointHeadersIn" - } - } - }, - "required": true - }, - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Update Endpoint Headers", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg": { - "get": { - "description": "List messages for a particular endpoint. Additionally includes metadata about the latest message attempt.\n\nThe `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.", - "operationId": "v1.message-attempt.list-attempted-messages", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the delivery status", - "in": "query", - "name": "status", - "schema": { - "$ref": "#/components/schemas/MessageStatus", - "description": "Filter response based on the delivery status", - "nullable": true - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "When `true` message payloads are included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` message payloads are included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_EndpointMessageOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Attempted Messages", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover": { - "post": { - "description": "Resend all failed messages since a given time.", - "operationId": "v1.endpoint.recover", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RecoverIn" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RecoverOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Recover Failed Webhooks", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret": { - "get": { - "description": "Get the endpoint's signing secret.\n\nThis is used to verify the authenticity of the webhook.\nFor more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).", - "operationId": "v1.endpoint.get-secret", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointSecretOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Endpoint Secret", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate": { - "post": { - "description": "Rotates the endpoint's signing secret. The previous secret will be valid for the next 24 hours.", - "operationId": "v1.endpoint.rotate-secret", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointSecretRotateIn" - } - } - }, - "required": true - }, - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Rotate Endpoint Secret", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example": { - "post": { - "description": "Send an example message for an event", - "operationId": "v1.endpoint.send-example", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventExampleIn" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Send Event Type Example Message", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats": { - "get": { - "description": "Get basic statistics for the endpoint.", - "operationId": "v1.endpoint.get-stats", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "query", - "name": "since", - "schema": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "in": "query", - "name": "until", - "schema": { - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointStats" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Endpoint Stats", - "tags": [ - "Endpoint" - ] - } - }, - "/api/v1/app/{app_id}/msg": { - "get": { - "description": "List all of the application's messages.\n\nThe `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.\nThe `after` parameter lets you filter all items created after a certain date and is ignored if an iterator is passed.\n`before` and `after` cannot be used simultaneously.", - "operationId": "v1.message.list", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "When `true` message payloads are included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` message payloads are included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Messages", - "tags": [ - "Message" - ] - }, - "post": { - "description": "Creates a new message and dispatches it to all of the application's endpoints.\n\nThe `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made.\nIf a message with the same `eventId` already exists for any application in your environment, a 409 conflict error will be returned.\n\nThe `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types.\nMessages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema.\n\nThe `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to ~350kb, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.", - "operationId": "v1.message.create", - "parameters": [ - { - "description": "When `true` message payloads are included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` message payloads are included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageIn" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Create Message", - "tags": [ - "Message" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}": { - "get": { - "description": "Get a message by its ID or eventID.", - "operationId": "v1.message.get", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "When `true` message payloads are included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": true, - "description": "When `true` message payloads are included in the response", - "type": "boolean" - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Message", - "tags": [ - "Message" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/attempt": { - "get": { - "description": "Deprecated: Please use \"List Attempts by Endpoint\" and \"List Attempts by Msg\" instead.\n\n`msg_id`: Use a message id or a message `eventId`", - "operationId": "v1.message-attempt.list-by-msg-deprecated", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter the attempts based on the attempted endpoint", - "in": "query", - "name": "endpoint_id", - "schema": { - "description": "Filter the attempts based on the attempted endpoint", - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the delivery status", - "in": "query", - "name": "status", - "schema": { - "$ref": "#/components/schemas/MessageStatus", - "description": "Filter response based on the delivery status", - "nullable": true - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageAttemptOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Messageattempts", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}": { - "get": { - "description": "`msg_id`: Use a message id or a message `eventId`", - "operationId": "v1.message-attempt.get", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "attempt_id", - "required": true, - "schema": { - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageAttemptOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Messageattempt", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content": { - "delete": { - "description": "Deletes the given attempt's response body. Useful when an endpoint accidentally returned sensitive content.", - "operationId": "v1.message-attempt.expunge-content", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "attempt_id", - "required": true, - "schema": { - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Expunge Attempt Content", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/content": { - "delete": { - "description": "Delete the given message's payload. Useful in cases when a message was accidentally sent with sensitive content.\n\nThe message can't be replayed or resent once its payload has been deleted or expired.", - "operationId": "v1.message.expunge-content", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Expunge Message Content", - "tags": [ - "Message" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/endpoint": { - "get": { - "description": "`msg_id`: Use a message id or a message `eventId`", - "operationId": "v1.message-attempt.list-attempted-destinations", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageEndpointOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Attempted Destinations", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/attempt": { - "get": { - "description": "DEPRECATED: please use list_attempts with endpoint_id as a query parameter instead.\n\nList the message attempts for a particular endpoint.\n\nReturning the endpoint.\n\nThe `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.", - "operationId": "v1.message-attempt.list-by-endpoint-deprecated", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the channel", - "in": "query", - "name": "channel", - "schema": { - "description": "Filter response based on the channel", - "example": "project_1337", - "maxLength": 128, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the delivery status", - "in": "query", - "name": "status", - "schema": { - "$ref": "#/components/schemas/MessageStatus", - "description": "Filter response based on the delivery status", - "nullable": true - }, - "style": "form" - }, - { - "description": "Only include items created before a certain date", - "in": "query", - "name": "before", - "schema": { - "description": "Only include items created before a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Only include items created after a certain date", - "in": "query", - "name": "after", - "schema": { - "description": "Only include items created after a certain date", - "format": "date-time", - "nullable": true, - "type": "string" - }, - "style": "form" - }, - { - "description": "Filter response based on the event type", - "in": "query", - "name": "event_types", - "schema": { - "description": "Filter response based on the event type", - "items": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "nullable": true, - "type": "array", - "uniqueItems": true - }, - "style": "form" - }, - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_MessageAttemptEndpointOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Attempts For Endpoint", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend": { - "post": { - "description": "Resend a message to the specified endpoint.", - "operationId": "v1.message-attempt.resend", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "msg_id", - "required": true, - "schema": { - "example": "unique-msg-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "in": "path", - "name": "endpoint_id", - "required": true, - "schema": { - "example": "unique-ep-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "202": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Resend Webhook", - "tags": [ - "Message Attempt" - ] - } - }, - "/api/v1/auth/app-portal-access/{app_id}": { - "post": { - "description": "Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal.", - "operationId": "v1.authentication.app-portal-access", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppPortalAccessIn" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppPortalAccessOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "App Portal Access", - "tags": [ - "Authentication" - ] - } - }, - "/api/v1/auth/dashboard-access/{app_id}": { - "post": { - "description": "DEPRECATED: Please use `app-portal-access` instead.\n\nUse this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal.", - "operationId": "v1.authentication.dashboard-access", - "parameters": [ - { - "in": "path", - "name": "app_id", - "required": true, - "schema": { - "example": "unique-app-identifier", - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - }, - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardAccessOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Dashboard Access", - "tags": [ - "Authentication" - ] - } - }, - "/api/v1/auth/logout": { - "post": { - "description": "\nLogout an app token.\n\nTrying to log out other tokens will fail.\n", - "operationId": "logout_api_v1_auth_logout__post", - "parameters": [ - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "204": { - "description": "no content" - } - }, - "summary": "Logout", - "tags": [ - "Authentication" - ] - } - }, - "/api/v1/event-type": { - "get": { - "description": "Return the list of event types.", - "operationId": "v1.event-type.list", - "parameters": [ - { - "description": "Limit the number of returned items", - "in": "query", - "name": "limit", - "schema": { - "description": "Limit the number of returned items", - "format": "uint64", - "minimum": 0, - "type": "integer" - }, - "style": "form" - }, - { - "description": "The iterator returned from a prior invocation", - "in": "query", - "name": "iterator", - "schema": { - "description": "The iterator returned from a prior invocation", - "example": "user.signup", - "maxLength": 256, - "nullable": true, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "form" - }, - { - "description": "The sorting order of the returned items", - "in": "query", - "name": "order", - "schema": { - "$ref": "#/components/schemas/Ordering", - "description": "The sorting order of the returned items", - "nullable": true - }, - "style": "form" - }, - { - "description": "When `true` archived (deleted but not expunged) items are included in the response", - "in": "query", - "name": "include_archived", - "schema": { - "default": false, - "description": "When `true` archived (deleted but not expunged) items are included in the response", - "type": "boolean" - }, - "style": "form" - }, - { - "description": "When `true` the full item (including the schema) is included in the response", - "in": "query", - "name": "with_content", - "schema": { - "default": false, - "description": "When `true` the full item (including the schema) is included in the response", - "type": "boolean" - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListResponse_EventTypeOut_" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "List Event Types", - "tags": [ - "Event Type" - ] - }, - "post": { - "description": "Create new or unarchive existing event type.\n\nUnarchiving an event type will allow endpoints to filter on it and messages to be sent with it.\nEndpoints filtering on the event type before archival will continue to filter on it.\nThis operation does not preserve the description and schemas.", - "operationId": "v1.event-type.create", - "parameters": [ - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeIn" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Create Event Type", - "tags": [ - "Event Type" - ] - } - }, - "/api/v1/event-type/schema/generate-example": { - "post": { - "description": "Generates a fake example from the given JSONSchema", - "parameters": [ - { - "description": "The request's idempotency key", - "in": "header", - "name": "idempotency-key", - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "204": { - "description": "no content" - } - }, - "tags": [ - "Event Type" - ] - } - }, - "/api/v1/event-type/{event_type_name}": { - "delete": { - "description": "Archive an event type.\n\nEndpoints already configured to filter on an event type will continue to do so after archival.\nHowever, new messages can not be sent with it and endpoints can not filter on it.\nAn event type can be unarchived with the\n[create operation](#operation/create_event_type_api_v1_event_type__post).", - "operationId": "v1.event-type.delete", - "parameters": [ - { - "in": "path", - "name": "event_type_name", - "required": true, - "schema": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Delete Event Type", - "tags": [ - "Event Type" - ] - }, - "get": { - "description": "Get an event type.", - "operationId": "v1.event-type.get", - "parameters": [ - { - "in": "path", - "name": "event_type_name", - "required": true, - "schema": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Get Event Type", - "tags": [ - "Event Type" - ] - }, - "patch": { - "description": "Partially update an event type.", - "operationId": "patch_event_type", - "parameters": [ - { - "in": "path", - "name": "event_type_name", - "required": true, - "schema": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypePatch" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Patch Event Type", - "tags": [ - "Event Type" - ] - }, - "put": { - "description": "Update an event type.", - "operationId": "v1.event-type.update", - "parameters": [ - { - "in": "path", - "name": "event_type_name", - "required": true, - "schema": { - "example": "user.signup", - "maxLength": 256, - "pattern": "^[a-zA-Z0-9\\-_.]+$", - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeUpdate" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeOut" - } - } - }, - "description": "" - }, - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EventTypeOut" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Update Event Type", - "tags": [ - "Event Type" - ] - } - }, - "/api/v1/health": { - "get": { - "description": "Verify the API server is up and running.", - "operationId": "v1.health.get", - "responses": { - "204": { - "description": "no content" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Health", - "tags": [ - "Health" - ] - }, - "head": { - "description": "Verify the API server is up and running.", - "operationId": "v1.health.get", - "responses": { - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Unauthorized" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Not Found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Conflict" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpErrorOut" - } - } - }, - "description": "Too Many Requests" - } - }, - "summary": "Health", - "tags": [ - "Health" - ] - } - }, - "/api/v1/health/ping": { - "get": { - "responses": { - "204": { - "description": "no content" - } - } - }, - "head": { - "responses": { - "204": { - "description": "no content" - } - } - } - } - }, - "tags": [ - { - "name": "Application" - }, - { - "name": "Message" - }, - { - "name": "Message Attempt" - }, - { - "name": "Endpoint" - }, - { - "name": "Integration" - }, - { - "name": "Event Type" - }, - { - "name": "Authentication" - }, - { - "name": "Health" - }, - { - "name": "Webhooks" - } - ], - "x-tagGroups": [ - { - "name": "General", - "tags": [ - "Application", - "Event Type" - ] - }, - { - "name": "Application specific", - "tags": [ - "Authentication", - "Endpoint", - "Message", - "Message Attempt", - "Integration" - ] - }, - { - "name": "Utility", - "tags": [ - "Health" - ] - }, - { - "name": "Webhooks", - "tags": [ - "Webhooks" - ] - } - ], - "x-webhooks": { - "EndpointCreatedEvent": { - "post": { - "description": "Sent when an endpoint is created.", - "operationId": "EndpointCreatedEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointCreatedEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "EndpointCreatedEvent", - "tags": [ - "Webhooks" - ] - } - }, - "EndpointDeletedEvent": { - "post": { - "description": "Sent when an endpoint is deleted.", - "operationId": "EndpointDeletedEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointDeletedEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "EndpointDeletedEvent", - "tags": [ - "Webhooks" - ] - } - }, - "EndpointDisabledEvent": { - "post": { - "description": "Sent when an endpoint has been automatically disabled after continuous failures.", - "operationId": "EndpointDisabledEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointDisabledEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "EndpointDisabledEvent", - "tags": [ - "Webhooks" - ] - } - }, - "EndpointUpdatedEvent": { - "post": { - "description": "Sent when an endpoint is updated.", - "operationId": "EndpointUpdatedEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndpointUpdatedEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "EndpointUpdatedEvent", - "tags": [ - "Webhooks" - ] - } - }, - "MessageAttemptExhaustedEvent": { - "post": { - "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", - "operationId": "MessageAttemptExhaustedEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageAttemptExhaustedEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "MessageAttemptExhaustedEvent", - "tags": [ - "Webhooks" - ] - } - }, - "MessageAttemptFailingEvent": { - "post": { - "description": "Sent after a message has been failing for a few times.\nIt's sent on the fourth failure. It complements `message.attempt.exhausted` which is sent after the last failure.", - "operationId": "MessageAttemptFailingEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageAttemptFailingEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "MessageAttemptFailingEvent", - "tags": [ - "Webhooks" - ] - } - }, - "MessageAttemptRecoveredEvent": { - "post": { - "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", - "operationId": "MessageAttemptRecoveredEvent", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageAttemptRecoveredEvent" - } - } - } - }, - "responses": { - "2XX": { - "description": "Return any 2XX status to indicate that the data was received successfully" - } - }, - "summary": "MessageAttemptRecoveredEvent", - "tags": [ - "Webhooks" - ] - } - } - } -}