{ "openapi": "3.1.0", "info": { "title": "Svix API", "description": "Welcome to the Svix API documentation!\n\nUseful links: [Homepage](https://www.svix.com) | [Support email](mailto:support+docs@svix.com) | [Blog](https://www.svix.com/blog/) | [Slack Community](https://www.svix.com/slack/)\n\n# Introduction\n\nThis is the reference documentation and schemas for the [Svix webhook service](https://www.svix.com) API. For tutorials and other documentation please refer to [the documentation](https://docs.svix.com).\n\n## Main concepts\n\nIn Svix you have four important entities you will be interacting with:\n\n- `messages`: these are the webhooks being sent. They can have contents and a few other properties.\n- `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform.\n- `endpoint`: endpoints are the URLs messages will be sent to. Each application can have multiple `endpoints` and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type).\n- `event-type`: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint.\n\n\n## Authentication\n\nGet your authentication token (`AUTH_TOKEN`) from the [Svix dashboard](https://dashboard.svix.com) and use it as part of the `Authorization` header as such: `Authorization: Bearer ${AUTH_TOKEN}`. For more information on authentication, please refer to the [authentication token docs](https://docs.svix.com/api-keys).\n\n\n\n\n## Code samples\n\nThe code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to [the documentation](https://docs.svix.com/).\n\n\n## Idempotency\n\nSvix supports [idempotency](https://en.wikipedia.org/wiki/Idempotence) for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response.\n\nTo perform an idempotent request, pass the idempotency key in the `Idempotency-Key` header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions. Your idempotency key should not begin with the string `auto_`, which is reserved for internal use by the client libraries.\n\nSvix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result for a period of up to 12 hours.\n\nPlease note that idempotency is only supported for `POST` requests.\n\n\n## Cross-Origin Resource Sharing\n\nThis API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.\n", "version": "1.84.0", "x-logo": { "altText": "Svix Logo", "url": "https://www.svix.com/static/img/brand-padded.svg" } }, "servers": [ { "url": "https://api.eu.svix.com/", "description": "The Svix EU region" }, { "url": "https://api.us.svix.com/", "description": "The Svix US region" }, { "url": "https://api.ca.svix.com/", "description": "The Svix Canada region" }, { "url": "https://api.au.svix.com/", "description": "The Svix Australia region" }, { "url": "https://api.in.svix.com/", "description": "The Svix India region" } ], "paths": { "/api/v1/app": { "get": { "tags": [ "Application" ], "summary": "List Applications", "description": "List of all the organization's applications.", "operationId": "v1.application.list", "parameters": [ { "in": "query", "name": "exclude_apps_with_no_endpoints", "description": "Exclude applications that have no endpoints. Default is false.", "schema": { "description": "Exclude applications that have no endpoints. Default is false.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "exclude_apps_with_disabled_endpoints", "description": "Exclude applications that have only disabled endpoints. Default is false.", "schema": { "description": "Exclude applications that have only disabled endpoints. Default is false.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "exclude_apps_with_svix_play_endpoints", "description": "Exclude applications that only have Svix Play endpoints. Default is false.", "schema": { "description": "Exclude applications that only have Svix Play endpoints. Default is false.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "nullable": true, "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_ApplicationOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.application.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.application.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.application.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.application.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Application.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.application.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getApplication().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.application.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.application().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->application->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix application list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Application" ], "summary": "Create Application", "description": "Create a new application.", "operationId": "v1.application.create", "parameters": [ { "in": "query", "name": "get_if_exists", "description": "Get an existing application, or create a new one if doesn't exist. It's two separate functions in the libs.", "schema": { "description": "Get an existing application, or create a new one if doesn't exist. It's two separate functions in the libs.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.application.create({\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.application.create({\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.application.create(\n ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.application.create(\n ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Application.Create(\n\tctx,\n\tApplicationIn{\n\t\tMetadata: nil,\n\t\tName: \"My first application\",\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.application.create(\n ApplicationIn(\n metadata = mapOf(),\n name = \"My first application\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getApplication()\n .create(new ApplicationIn()\n .metadata(Map.of())\n .name(\"My first application\")\n .throttleRate(1L)\n .uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .application\n .create({metadata: {}, name: \"My first application\", throttleRate: 1, uid: \"unique-identifier\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .application()\n .create(\n ApplicationIn {\n metadata: Some(HashMap::new()),\n name: \"My first application\".to_string(),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.Create(\n new ApplicationIn\n {\n Metadata = [],\n Name = \"My first application\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->application->create(\n ApplicationIn::create(\n name: \"My first application\"\n )\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix application create '{\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/app/{app_id}": { "get": { "tags": [ "Application" ], "summary": "Get Application", "description": "Get an application.", "operationId": "v1.application.get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.application.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.application.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.application.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.application.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Application.Get(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.application.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getApplication().get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.application.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .application()\n .get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.Get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->application->get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix application get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Application" ], "summary": "Update Application", "description": "Update an application.", "operationId": "v1.application.update", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.application.update(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.application.update(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.application.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.application.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Application.Update(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tApplicationIn{\n\t\tMetadata: nil,\n\t\tName: \"My first application\",\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.application.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationIn(\n metadata = mapOf(),\n name = \"My first application\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getApplication()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationIn()\n .metadata(Map.of())\n .name(\"My first application\")\n .throttleRate(1L)\n .uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .application\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {metadata: {}, name: \"My first application\", throttleRate: 1, uid: \"unique-identifier\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .application()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n ApplicationIn {\n metadata: Some(HashMap::new()),\n name: \"My first application\".to_string(),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.Update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationIn\n {\n Metadata = [],\n Name = \"My first application\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->application->update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationIn::create(\n name: \"My first application\"\n )\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix application update \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" } ] }, "delete": { "tags": [ "Application" ], "summary": "Delete Application", "description": "Delete an application.", "operationId": "v1.application.delete", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.application.delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.application.delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "svix.application.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.application.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Application.Delete(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.application.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getApplication().delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.application.delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.application().delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.Delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->application->delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix application delete \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Application" ], "summary": "Patch Application", "description": "Partially update an application.", "operationId": "v1.application.patch", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationPatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.application.patch(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n metadata: {},\n name: \"sample string\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.application.patch(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n metadata: {},\n name: \"sample string\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.application.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationPatch(\n metadata={},\n name=\"sample string\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.application.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationPatch(\n metadata={},\n name=\"sample string\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Application.Patch(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tApplicationPatch{\n\t\tMetadata: nil,\n\t\tName: new(\"sample string\"),\n\t\tThrottleRate: NewNullable(uint16(1)),\n\t\tUid: NewNullable(\"unique-identifier\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.application.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationPatch(\n metadata = mapOf(),\n name = \"sample string\",\n throttleRate = MaybeUnset.Present(1u),\n uid = MaybeUnset.Present(\"unique-identifier\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getApplication()\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationPatch()\n .metadata(Map.of())\n .name(\"sample string\")\n .throttleRate(1L)\n .uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .application\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {metadata: {}, name: \"sample string\", throttleRate: 1, uid: \"unique-identifier\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .application()\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n ApplicationPatch {\n metadata: Some(HashMap::new()),\n name: Some(\"sample string\".to_string()),\n throttle_rate: js_option::JsOption::Some(1),\n uid: js_option::JsOption::Some(\"unique-identifier\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Application.Patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationPatch\n {\n Metadata = [],\n Name = \"sample string\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->application->patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationPatch::create()\n ->withMetadata([])\n ->withName(\"sample string\")\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix application patch \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}": { "get": { "tags": [ "Message Attempt" ], "summary": "List Attempts By Endpoint", "description": "List attempts by endpoint id\n\nNote that by default this endpoint is limited to retrieving 90 days' worth of data\nrelative to now or, if an iterator is provided, 90 days before/after the time indicated\nby the iterator ID. If you require data beyond those time ranges, you will need to explicitly\nset the `before` or `after` parameter as appropriate.\n", "operationId": "v1.message-attempt.list-by-endpoint", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "nullable": true, "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "status", "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "schema": { "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "$ref": "#/components/schemas/MessageStatus", "nullable": true }, "explode": false, "style": "form" }, { "in": "query", "name": "status_code_class", "description": "Filter response based on the HTTP status code", "schema": { "description": "Filter response based on the HTTP status code", "$ref": "#/components/schemas/StatusCodeClass", "nullable": true }, "explode": false, "style": "form" }, { "in": "query", "name": "channel", "description": "Filter response based on the channel", "schema": { "description": "Filter response based on the channel", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "tag", "description": "Filter response based on the tag", "schema": { "description": "Filter response based on the tag", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "before", "description": "Only include items created before a certain date", "schema": { "description": "Only include items created before a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "after", "description": "Only include items created after a certain date", "schema": { "description": "Only include items created after a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "with_content", "description": "When `true` attempt content is included in the response", "schema": { "description": "When `true` attempt content is included in the response", "default": true, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "with_msg", "description": "When `true`, the message information is included in the response\n\nNote that message payloads are never included in the response, regardless of this flag.", "schema": { "description": "When `true`, the message information is included in the response\n\nNote that message payloads are never included in the response, regardless of this flag.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "expanded_statuses", "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "schema": { "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "event_types", "description": "Filter response based on the event type", "schema": { "description": "Filter response based on the event type", "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "style": "form" }, { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_MessageAttemptOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listByEndpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listByEndpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.list_by_endpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.list_by_endpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.ListByEndpoint(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.listByEndpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .listByEndpoint(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message_attempt.list_by_endpoint(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .list_by_endpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.ListByEndpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->listByEndpoint(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt list-by-endpoint \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/attempt/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/attempt/msg/{msg_id}": { "get": { "tags": [ "Message Attempt" ], "summary": "List Attempts By Msg", "description": "List attempts by message ID.\n\nNote that by default this endpoint is limited to retrieving 90 days' worth of data\nrelative to now or, if an iterator is provided, 90 days before/after the time indicated\nby the iterator ID. If you require data beyond those time ranges, you will need to explicitly\nset the `before` or `after` parameter as appropriate.", "operationId": "v1.message-attempt.list-by-msg", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "nullable": true, "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "status", "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "schema": { "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "$ref": "#/components/schemas/MessageStatus", "nullable": true }, "explode": false, "style": "form" }, { "in": "query", "name": "status_code_class", "description": "Filter response based on the HTTP status code", "schema": { "description": "Filter response based on the HTTP status code", "$ref": "#/components/schemas/StatusCodeClass", "nullable": true }, "explode": false, "style": "form" }, { "in": "query", "name": "channel", "description": "Filter response based on the channel", "schema": { "description": "Filter response based on the channel", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "tag", "description": "Filter response based on the tag", "schema": { "description": "Filter response based on the tag", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "endpoint_id", "description": "Filter the attempts based on the attempted endpoint", "schema": { "description": "Filter the attempts based on the attempted endpoint", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true, "example": "unique-identifier" }, "style": "form" }, { "in": "query", "name": "before", "description": "Only include items created before a certain date", "schema": { "description": "Only include items created before a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "after", "description": "Only include items created after a certain date", "schema": { "description": "Only include items created after a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "with_content", "description": "When `true` attempt content is included in the response", "schema": { "description": "When `true` attempt content is included in the response", "default": true, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "expanded_statuses", "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "schema": { "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "default": false, "type": "boolean" }, "style": "form" }, { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "event_types", "description": "Filter response based on the event type", "schema": { "description": "Filter response based on the event type", "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_MessageAttemptOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listByMsg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listByMsg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.list_by_msg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.list_by_msg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.ListByMsg(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.listByMsg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .listByMsg(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message_attempt.list_by_msg(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .list_by_msg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.ListByMsg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->listByMsg(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt list-by-msg \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/attempt/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/endpoint": { "get": { "tags": [ "Endpoint" ], "summary": "List Endpoints", "description": "List the application's endpoints.", "operationId": "v1.endpoint.list", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "nullable": true, "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_EndpointOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.List(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.endpoint.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint().list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.List(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint list \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Endpoint" ], "summary": "Create Endpoint", "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", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n EndpointIn(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n metadata={},\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n EndpointIn(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n metadata={},\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.Create(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tEndpointIn{\n\t\tChannels: []string{\"project_123\", \"group_2\"},\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tFilterTypes: []string{\"user.signup\", \"user.deleted\"},\n\t\tHeaders: &map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n\t\tMetadata: nil,\n\t\tSecret: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n EndpointIn(\n channels = setOf(\"project_123\", \"group_2\"),\n description = \"An example endpoint name\",\n disabled = true,\n filterTypes = setOf(\"user.signup\", \"user.deleted\"),\n headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\"),\n metadata = mapOf(),\n secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new EndpointIn()\n .channels(Set.of(\"project_123\", \"group_2\"))\n .description(\"An example endpoint name\")\n .disabled(true)\n .filterTypes(Set.of(\"user.signup\", \"user.deleted\"))\n .headers(Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\")))\n .metadata(Map.of())\n .secret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n .throttleRate(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"},\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n EndpointIn {\n channels: Some(vec![\"project_123\".to_string(), \"group_2\".to_string()]),\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n filter_types: Some(\n vec![\"user.signup\".to_string(), \"user.deleted\".to_string()],\n ),\n headers: Some(\n HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n ),\n metadata: Some(HashMap::new()),\n secret: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new EndpointIn\n {\n Channels = [\"project_123\", \"group_2\"],\n Description = \"An example endpoint name\",\n Disabled = true,\n FilterTypes = [\"user.signup\", \"user.deleted\"],\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n Metadata = [],\n Secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n EndpointIn::create(\n url: \"https://example.com/webhook/\"\n )\n ->withChannels([\"project_123\",\"group_2\"])\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withFilterTypes([\"user.signup\",\"user.deleted\"])\n ->withHeaders([\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"])\n ->withMetadata([])\n ->withSecret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint create \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n },\n \"metadata\": {},\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n },\n \"metadata\": {},\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}": { "get": { "tags": [ "Endpoint" ], "summary": "Get Endpoint", "description": "Get an endpoint.", "operationId": "v1.endpoint.get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.Get(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response =\n svix.getEndpoint().get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Endpoint" ], "summary": "Update Endpoint", "description": "Update an endpoint.", "operationId": "v1.endpoint.update", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointUpdate(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointUpdate(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.Update(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointUpdate{\n\t\tChannels: []string{\"project_123\", \"group_2\"},\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tFilterTypes: []string{\"user.signup\", \"user.deleted\"},\n\t\tMetadata: nil,\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointUpdate(\n channels = setOf(\"project_123\", \"group_2\"),\n description = \"An example endpoint name\",\n disabled = true,\n filterTypes = setOf(\"user.signup\", \"user.deleted\"),\n metadata = mapOf(),\n throttleRate = 1u,\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointUpdate()\n .channels(Set.of(\"project_123\", \"group_2\"))\n .description(\"An example endpoint name\")\n .disabled(true)\n .filterTypes(Set.of(\"user.signup\", \"user.deleted\"))\n .metadata(Map.of())\n .throttleRate(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [\"project_123\", \"group_2\"],\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"user.signup\", \"user.deleted\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointUpdate {\n channels: Some(vec![\"project_123\".to_string(), \"group_2\".to_string()]),\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n filter_types: Some(\n vec![\"user.signup\".to_string(), \"user.deleted\".to_string()],\n ),\n metadata: Some(HashMap::new()),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointUpdate\n {\n Channels = [\"project_123\", \"group_2\"],\n Description = \"An example endpoint name\",\n Disabled = true,\n FilterTypes = [\"user.signup\", \"user.deleted\"],\n Metadata = [],\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointUpdate::create(\n url: \"https://example.com/webhook/\"\n )\n ->withChannels([\"project_123\",\"group_2\"])\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withFilterTypes([\"user.signup\",\"user.deleted\"])\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint update \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] }, "delete": { "tags": [ "Endpoint" ], "summary": "Delete Endpoint", "description": "Delete an endpoint.", "operationId": "v1.endpoint.delete", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.endpoint.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.endpoint.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.endpoint.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.endpoint.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Endpoint.Delete(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.endpoint.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEndpoint().delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.endpoint()\n .delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->endpoint->delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint delete \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Endpoint" ], "summary": "Patch Endpoint", "description": "Partially update an endpoint.", "operationId": "v1.endpoint.patch", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointPatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [],\n description: \"sample string\",\n disabled: true,\n filterTypes: [],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"sample string\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [],\n description: \"sample string\",\n disabled: true,\n filterTypes: [],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"sample string\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointPatch(\n channels=[],\n description=\"sample string\",\n disabled=True,\n filter_types=[],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"sample string\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointPatch(\n channels=[],\n description=\"sample string\",\n disabled=True,\n filter_types=[],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"sample string\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.Patch(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointPatch{\n\t\tChannels: NewNullable([]string{}),\n\t\tDescription: new(\"sample string\"),\n\t\tDisabled: new(true),\n\t\tFilterTypes: NewNullable([]string{}),\n\t\tMetadata: nil,\n\t\tThrottleRate: NewNullable(uint16(1)),\n\t\tUid: NewNullable(\"unique-identifier\"),\n\t\tUrl: new(\"sample string\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointPatch(\n channels = MaybeUnset.Present(setOf()),\n description = \"sample string\",\n disabled = true,\n filterTypes = MaybeUnset.Present(setOf()),\n metadata = mapOf(),\n throttleRate = MaybeUnset.Present(1u),\n uid = MaybeUnset.Present(\"unique-identifier\"),\n url = \"https://example.com/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointPatch()\n .channels(Set.of())\n .description(\"sample string\")\n .disabled(true)\n .filterTypes(Set.of())\n .metadata(Map.of())\n .throttleRate(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channels: [],\n description: \"sample string\",\n disabled: true,\n filterTypes: [],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"sample string\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointPatch {\n channels: js_option::JsOption::Some(vec![]),\n description: Some(\"sample string\".to_string()),\n disabled: Some(true),\n filter_types: js_option::JsOption::Some(vec![]),\n metadata: Some(HashMap::new()),\n throttle_rate: js_option::JsOption::Some(1),\n uid: js_option::JsOption::Some(\"unique-identifier\".to_string()),\n url: Some(\"sample string\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointPatch\n {\n Channels = MaybeUnset?>.Set([]),\n Description = \"sample string\",\n Disabled = true,\n FilterTypes = MaybeUnset?>.Set([]),\n Metadata = [],\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n Url = \"sample string\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->patch(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointPatch::create()\n ->withChannels([])\n ->withDescription(\"sample string\")\n ->withDisabled(true)\n ->withFilterTypes([])\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n ->withUrl(\"sample string\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint patch \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"channels\": [],\n \"description\": \"sample string\",\n \"disabled\": true,\n \"filterTypes\": [],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"sample string\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"channels\": [],\n \"description\": \"sample string\",\n \"disabled\": true,\n \"filterTypes\": [],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"sample string\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay": { "post": { "tags": [ "Endpoint" ], "summary": "Bulk Replay Messages", "description": "Bulk replay messages sent to the endpoint.\n\nOnly messages that were created after `since` will be sent.\nThis will replay both successful, and failed messages\n\nA completed task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n \"status\": \"finished\",\n \"task\": \"endpoint.bulk-replay\",\n \"data\": {\n \"messagesSent\": 2\n }\n}\n```", "operationId": "v1.endpoint.bulk-replay", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkReplayIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReplayOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.bulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channel: \"project_1337\",\n eventTypes: [],\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n status: MessageStatus.Success,\n statusCodeClass: StatusCodeClass.CodeNone,\n tag: \"project_1337\",\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.bulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channel: \"project_1337\",\n eventTypes: [],\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n status: MessageStatus.Success,\n statusCodeClass: StatusCodeClass.CodeNone,\n tag: \"project_1337\",\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.bulk_replay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n BulkReplayIn(\n channel=\"project_1337\",\n event_types=[],\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n status=MessageStatus.SUCCESS,\n status_code_class=StatusCodeClass.CODE_NONE,\n tag=\"project_1337\",\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.bulk_replay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n BulkReplayIn(\n channel=\"project_1337\",\n event_types=[],\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n status=MessageStatus.SUCCESS,\n status_code_class=StatusCodeClass.CODE_NONE,\n tag=\"project_1337\",\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.BulkReplay(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tBulkReplayIn{\n\t\tChannel: new(\"project_1337\"),\n\t\tEventTypes: []string{},\n\t\tSince: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC),\n\t\tStatus: new(MESSAGESTATUS_SUCCESS),\n\t\tStatusCodeClass: new(STATUSCODECLASS_CODE_NONE),\n\t\tTag: new(\"project_1337\"),\n\t\tUntil: new(time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC)),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.bulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n BulkReplayIn(\n channel = \"project_1337\",\n eventTypes = setOf(),\n since = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n status = MessageStatus.SUCCESS,\n statusCodeClass = StatusCodeClass.CODE_NONE,\n tag = \"project_1337\",\n until = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .bulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new BulkReplayIn()\n .channel(\"project_1337\")\n .eventTypes(Set.of())\n .since(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\"))\n .status(MessageStatus.SUCCESS)\n .statusCodeClass(StatusCodeClass.CODE_NONE)\n .tag(\"project_1337\")\n .until(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .bulk_replay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n channel: \"project_1337\",\n eventTypes: [],\n since: \"2025-10-02T20:28:42+00:00\",\n status: MessageStatus::SUCCESS,\n statusCodeClass: StatusCodeClass::CODE_NONE,\n tag: \"project_1337\",\n until: \"2025-10-02T20:28:42+00:00\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .bulk_replay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n BulkReplayIn {\n channel: Some(\"project_1337\".to_string()),\n event_types: Some(vec![]),\n since: \"2025-10-02T20:28:42+00:00\".to_string(),\n status: Some(MessageStatus::Success),\n status_code_class: Some(StatusCodeClass::CodeNone),\n tag: Some(\"project_1337\".to_string()),\n until: Some(\"2025-10-02T20:28:42+00:00\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.BulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new BulkReplayIn\n {\n Channel = \"project_1337\",\n EventTypes = [],\n Since = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n Status = MessageStatus.Success,\n StatusCodeClass = StatusCodeClass.CodeNone,\n Tag = \"project_1337\",\n Until = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->bulkReplay(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n BulkReplayIn::create(\n since: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\")\n )\n ->withChannel(\"project_1337\")\n ->withEventTypes([])\n ->withStatus(MessageStatus::SUCCESS)\n ->withStatusCodeClass(StatusCodeClass::CODE_NONE)\n ->withTag(\"project_1337\")\n ->withUntil(new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\"))\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint bulk-replay \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"channel\": \"project_1337\",\n \"eventTypes\": [],\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"status\": 0,\n \"statusCodeClass\": 0,\n \"tag\": \"project_1337\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/bulk-replay' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"channel\": \"project_1337\",\n \"eventTypes\": [],\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"status\": 0,\n \"statusCodeClass\": 0,\n \"tag\": \"project_1337\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers": { "get": { "tags": [ "Endpoint" ], "summary": "Get Endpoint Headers", "description": "Get the additional headers to be sent with the webhook.", "operationId": "v1.endpoint.get-headers", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "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.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointHeadersOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.get_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.get_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.GetHeaders(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.getHeaders(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .getHeaders(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.get_headers(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .get_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.GetHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->getHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint get-headers \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Endpoint" ], "summary": "Update Endpoint Headers", "description": "Set the additional headers to be sent with the webhook.", "operationId": "v1.endpoint.update-headers", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointHeadersIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.endpoint.updateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.endpoint.updateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.endpoint.update_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.endpoint.update_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Endpoint.UpdateHeaders(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointHeadersIn{Headers: map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"}},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.endpoint.updateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersIn(headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\")),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEndpoint()\n .updateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointHeadersIn()\n .headers(\n Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .update_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"}}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.endpoint()\n .update_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointHeadersIn {\n headers: HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.UpdateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointHeadersIn\n {\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->endpoint->updateHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersIn::create(\n headers: [\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"]\n )\n\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint update-headers \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" } ] }, "patch": { "tags": [ "Endpoint" ], "summary": "Patch Endpoint Headers", "description": "Partially set the additional headers to be sent with the webhook.", "operationId": "v1.endpoint.patch-headers", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointHeadersPatchIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.endpoint.patchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n deleteHeaders: [],\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.endpoint.patchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n deleteHeaders: [],\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.endpoint.patch_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersPatchIn(\n delete_headers=[],\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.endpoint.patch_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersPatchIn(\n delete_headers=[],\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Endpoint.PatchHeaders(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointHeadersPatchIn{\n\t\tDeleteHeaders: []string{},\n\t\tHeaders: map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.endpoint.patchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersPatchIn(\n deleteHeaders = listOf(),\n headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\"),\n ),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEndpoint()\n .patchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointHeadersPatchIn()\n .deleteHeaders(List.of())\n .headers(\n Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .patch_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {deleteHeaders: [], headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"}}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.endpoint()\n .patch_headers(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointHeadersPatchIn {\n delete_headers: Some(vec![]),\n headers: HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.PatchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointHeadersPatchIn\n {\n DeleteHeaders = [],\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->endpoint->patchHeaders(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointHeadersPatchIn::create(\n headers: [\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"]\n )\n ->withDeleteHeaders([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint patch-headers \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"deleteHeaders\": [],\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"deleteHeaders\": [],\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg": { "get": { "tags": [ "Message Attempt" ], "summary": "List Attempted Messages", "description": "List messages for a particular endpoint.\n\nAdditionally includes metadata about the latest message attempt.\nThe `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.\n\nNote that by default this endpoint is limited to retrieving 90 days' worth of data\nrelative to now or, if an iterator is provided, 90 days before/after the time indicated\nby the iterator ID. If you require data beyond those time ranges, you will need to explicitly\nset the `before` or `after` parameter as appropriate.\n", "operationId": "v1.message-attempt.list-attempted-messages", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "nullable": true, "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "channel", "description": "Filter response based on the channel", "schema": { "description": "Filter response based on the channel", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "tag", "description": "Filter response based on the message tags", "schema": { "description": "Filter response based on the message tags", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "status", "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "schema": { "description": "Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4)", "$ref": "#/components/schemas/MessageStatus", "nullable": true }, "explode": false, "style": "form" }, { "in": "query", "name": "before", "description": "Only include items created before a certain date", "schema": { "description": "Only include items created before a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "after", "description": "Only include items created after a certain date", "schema": { "description": "Only include items created after a certain date", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "with_content", "description": "When `true` message payloads are included in the response", "schema": { "description": "When `true` message payloads are included in the response", "default": true, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "expanded_statuses", "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "schema": { "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "default": false, "type": "boolean" }, "style": "form" }, { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "event_types", "description": "Filter response based on the event type", "schema": { "description": "Filter response based on the event type", "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_EndpointMessageOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listAttemptedMessages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listAttemptedMessages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.list_attempted_messages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.list_attempted_messages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.ListAttemptedMessages(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.listAttemptedMessages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .listAttemptedMessages(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message_attempt\n .list_attempted_messages(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .list_attempted_messages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.ListAttemptedMessages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->listAttemptedMessages(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt list-attempted-messages \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/msg' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover": { "post": { "tags": [ "Endpoint" ], "summary": "Recover Failed Webhooks", "description": "Resend all failed messages since a given time.\n\nMessages that were sent successfully, even if failed initially, are not resent.\n\nA completed task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n \"status\": \"finished\",\n \"task\": \"endpoint.recover\",\n \"data\": {\n \"messagesSent\": 2\n }\n}\n```", "operationId": "v1.endpoint.recover", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecoverIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecoverOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n RecoverIn(\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n RecoverIn(\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.Recover(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tRecoverIn{\n\t\tSince: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC),\n\t\tUntil: new(time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC)),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n RecoverIn(\n since = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n until = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new RecoverIn()\n .since(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\"))\n .until(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {since: \"2025-10-02T20:28:42+00:00\", until: \"2025-10-02T20:28:42+00:00\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n RecoverIn {\n since: \"2025-10-02T20:28:42+00:00\".to_string(),\n until: Some(\"2025-10-02T20:28:42+00:00\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.Recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new RecoverIn\n {\n Since = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n Until = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->recover(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n RecoverIn::create(\n since: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\")\n )\n ->withUntil(new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\"))\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint recover \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/recover' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing": { "post": { "tags": [ "Endpoint" ], "summary": "Replay Missing Webhooks", "description": "Replays messages to the endpoint.\n\nOnly messages that were created after `since` will be sent.\nMessages that were previously sent to the endpoint are not resent.\n\nA completed task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n \"status\": \"finished\",\n \"task\": \"endpoint.replay\",\n \"data\": {\n \"messagesSent\": 2\n }\n}\n```", "operationId": "v1.endpoint.replay-missing", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReplayIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReplayOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.replayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.replayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.replay_missing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n ReplayIn(\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.replay_missing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n ReplayIn(\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.ReplayMissing(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tReplayIn{\n\t\tSince: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC),\n\t\tUntil: new(time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC)),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.replayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n ReplayIn(\n since = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n until = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .replayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new ReplayIn()\n .since(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\"))\n .until(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .replay_missing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {since: \"2025-10-02T20:28:42+00:00\", until: \"2025-10-02T20:28:42+00:00\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .replay_missing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n ReplayIn {\n since: \"2025-10-02T20:28:42+00:00\".to_string(),\n until: Some(\"2025-10-02T20:28:42+00:00\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.ReplayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new ReplayIn\n {\n Since = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n Until = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->replayMissing(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n ReplayIn::create(\n since: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\")\n )\n ->withUntil(new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\"))\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint replay-missing \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/replay-missing' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret": { "get": { "tags": [ "Endpoint" ], "summary": "Get Endpoint Secret", "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", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointSecretOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.get_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.get_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.GetSecret(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.getSecret(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .getSecret(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.get_secret(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .get_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.GetSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->getSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint get-secret \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate": { "post": { "tags": [ "Endpoint" ], "summary": "Rotate Endpoint Secret", "description": "Rotates the endpoint's signing secret.\n\nThe previous secret will remain valid for the next 24 hours.", "operationId": "v1.endpoint.rotate-secret", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointSecretRotateIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.endpoint.rotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.endpoint.rotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.endpoint.rotate_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointSecretRotateIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.endpoint.rotate_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointSecretRotateIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Endpoint.RotateSecret(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointSecretRotateIn{Key: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.endpoint.rotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointSecretRotateIn(key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEndpoint()\n .rotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointSecretRotateIn().key(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .rotate_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.endpoint()\n .rotate_secret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointSecretRotateIn {\n key: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.RotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointSecretRotateIn { Key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->endpoint->rotateSecret(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointSecretRotateIn::create()\n ->withKey(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint rotate-secret \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example": { "post": { "tags": [ "Endpoint" ], "summary": "Send Event Type Example Message", "description": "Send an example message for an event.", "operationId": "v1.endpoint.send-example", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventExampleIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.sendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n eventType: \"user.signup\",\n exampleIndex: 1,\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.sendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n eventType: \"user.signup\",\n exampleIndex: 1,\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.send_example(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EventExampleIn(\n event_type=\"user.signup\",\n example_index=1,\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.send_example(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EventExampleIn(\n event_type=\"user.signup\",\n example_index=1,\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.SendExample(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEventExampleIn{EventType: \"user.signup\", ExampleIndex: new(uint64(1))},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.sendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EventExampleIn(eventType = \"user.signup\", exampleIndex = 1u),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .sendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EventExampleIn().eventType(\"user.signup\").exampleIndex(1L));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .send_example(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {eventType: \"user.signup\", exampleIndex: 1}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .send_example(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EventExampleIn {\n event_type: \"user.signup\".to_string(),\n example_index: Some(1),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.SendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EventExampleIn { EventType = \"user.signup\", ExampleIndex = 1 }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->sendExample(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EventExampleIn::create(\n eventType: \"user.signup\"\n )\n ->withExampleIndex(1)\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint send-example \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"eventType\": \"user.signup\",\n \"exampleIndex\": 1\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/send-example' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"eventType\": \"user.signup\",\n \"exampleIndex\": 1\n }'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats": { "get": { "tags": [ "Endpoint" ], "summary": "Endpoint Stats", "description": "Get basic statistics for the endpoint.", "operationId": "v1.endpoint.get-stats", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "since", "description": "Filter the range to data starting from this date.", "schema": { "description": "Filter the range to data starting from this date.", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "until", "description": "Filter the range to data ending by this date.", "schema": { "description": "Filter the range to data ending by this date.", "type": "string", "format": "date-time", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointStats" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getStats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.getStats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.get_stats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.get_stats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.GetStats(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.getStats(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .getStats(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.get_stats(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .get_stats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.GetStats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->getStats(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint get-stats \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/stats' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation": { "get": { "tags": [ "Endpoint" ], "summary": "Get Endpoint Transformation", "description": "Get the transformation code associated with this endpoint.", "operationId": "v1.endpoint.transformation-get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointTransformationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.transformationGet(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.endpoint.transformationGet(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.endpoint.transformation_get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.endpoint.transformation_get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Endpoint.TransformationGet(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.endpoint.transformationGet(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEndpoint()\n .transformationGet(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.endpoint.transformation_get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .endpoint()\n .transformation_get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.TransformationGet(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->endpoint->transformationGet(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint transformation-get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "patch": { "tags": [ "Endpoint" ], "summary": "Patch Endpoint Transformation", "description": "Set or unset the transformation code associated with this endpoint.", "operationId": "v1.endpoint.patch-transformation", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointTransformationPatch" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.endpoint.patchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n code: \"function handler(webhook) { /* ... */ }\",\n enabled: true,\n variables: {},\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.endpoint.patchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n code: \"function handler(webhook) { /* ... */ }\",\n enabled: true,\n variables: {},\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.endpoint.patch_transformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointTransformationPatch(\n code=\"function handler(webhook) { /* ... */ }\",\n enabled=True,\n variables={},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.endpoint.patch_transformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointTransformationPatch(\n code=\"function handler(webhook) { /* ... */ }\",\n enabled=True,\n variables={},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Endpoint.PatchTransformation(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tEndpointTransformationPatch{\n\t\tCode: NewNullable(\"function handler(webhook) { /* ... */ }\"),\n\t\tEnabled: new(true),\n\t\tVariables: NewNullable(nil),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.endpoint.patchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointTransformationPatch(\n code = MaybeUnset.Present(\"function handler(webhook) { /* ... */ }\"),\n enabled = true,\n variables = MaybeUnset.Present(mapOf()),\n ),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEndpoint()\n .patchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointTransformationPatch()\n .code(\"function handler(webhook) { /* ... */ }\")\n .enabled(true)\n .variables(Map.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .endpoint\n .patch_transformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {code: \"function handler(webhook) { /* ... */ }\", enabled: true, variables: {}}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.endpoint()\n .patch_transformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n EndpointTransformationPatch {\n code: js_option::JsOption::Some(\n \"function handler(webhook) { /* ... */ }\".to_string(),\n ),\n enabled: Some(true),\n variables: js_option::JsOption::Some(HashMap::new()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Endpoint.PatchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new EndpointTransformationPatch\n {\n Code = \"function handler(webhook) { /* ... */ }\",\n Enabled = true,\n Variables = MaybeUnset?>.Set([]),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->endpoint->patchTransformation(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n EndpointTransformationPatch::create()\n ->withCode(\"function handler(webhook) { /* ... */ }\")\n ->withEnabled(true)\n ->withVariables([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix endpoint patch-transformation \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"code\": \"function handler(webhook) { /* ... */ }\",\n \"enabled\": true,\n \"variables\": {}\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"code\": \"function handler(webhook) { /* ... */ }\",\n \"enabled\": true,\n \"variables\": {}\n }'" } ] } }, "/api/v1/app/{app_id}/integration": { "get": { "tags": [ "Integration" ], "summary": "List Integrations", "description": "List the application's integrations.", "operationId": "v1.integration.list", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "nullable": true, "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_IntegrationOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.List(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.integration.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration().list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.List(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration list \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Integration" ], "summary": "Create Integration", "description": "Create an integration.", "operationId": "v1.integration.create", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n featureFlags: [],\n name: \"Example Integration\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n featureFlags: [],\n name: \"Example Integration\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationIn(\n feature_flags=[],\n name=\"Example Integration\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationIn(\n feature_flags=[],\n name=\"Example Integration\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.Create(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tIntegrationIn{FeatureFlags: []string{}, Name: \"Example Integration\"},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.integration.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationIn(featureFlags = setOf(), name = \"Example Integration\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new IntegrationIn().featureFlags(Set.of()).name(\"Example Integration\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {featureFlags: [], name: \"Example Integration\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n IntegrationIn {\n feature_flags: Some(vec![]),\n name: \"Example Integration\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.Create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new IntegrationIn { FeatureFlags = [], Name = \"Example Integration\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationIn::create(\n name: \"Example Integration\"\n )\n ->withFeatureFlags([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration create \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"featureFlags\": [],\n \"name\": \"Example Integration\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"featureFlags\": [],\n \"name\": \"Example Integration\"\n }'" } ] } }, "/api/v1/app/{app_id}/integration/{integ_id}": { "get": { "tags": [ "Integration" ], "summary": "Get Integration", "description": "Get an integration.", "operationId": "v1.integration.get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "integ_id", "description": "The Integration's ID.", "required": true, "schema": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.Get(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.integration.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration()\n .get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.Get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration/integ_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Integration" ], "summary": "Update Integration", "description": "Update an integration.", "operationId": "v1.integration.update", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "integ_id", "description": "The Integration's ID.", "required": true, "schema": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n featureFlags: [],\n name: \"Example Integration\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n featureFlags: [],\n name: \"Example Integration\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationUpdate(\n feature_flags=[],\n name=\"Example Integration\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationUpdate(\n feature_flags=[],\n name=\"Example Integration\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.Update(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tIntegrationUpdate{FeatureFlags: []string{}, Name: \"Example Integration\"},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.integration.update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationUpdate(featureFlags = setOf(), name = \"Example Integration\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new IntegrationUpdate().featureFlags(Set.of()).name(\"Example Integration\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .integration\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {featureFlags: [], name: \"Example Integration\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n IntegrationUpdate {\n feature_flags: Some(vec![]),\n name: \"Example Integration\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.Update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new IntegrationUpdate { FeatureFlags = [], Name = \"Example Integration\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->update(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n IntegrationUpdate::create(\n name: \"Example Integration\"\n )\n ->withFeatureFlags([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration update \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"featureFlags\": [],\n \"name\": \"Example Integration\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration/integ_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"featureFlags\": [],\n \"name\": \"Example Integration\"\n }'" } ] }, "delete": { "tags": [ "Integration" ], "summary": "Delete Integration", "description": "Delete an integration.", "operationId": "v1.integration.delete", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "integ_id", "description": "The Integration's ID.", "required": true, "schema": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.integration.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.integration.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.integration.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.integration.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Integration.Delete(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.integration.delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIntegration()\n .delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.delete(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.integration()\n .delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.Delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->integration->delete(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration delete \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration/integ_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/app/{app_id}/integration/{integ_id}/key": { "get": { "tags": [ "Integration" ], "summary": "Get Integration Key", "description": "Get an integration's key.", "operationId": "v1.integration.get-key", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "integ_id", "description": "The Integration's ID.", "required": true, "schema": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationKeyOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "deprecated": true, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.getKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.getKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.get_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.get_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.GetKey(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.integration.getKey(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration()\n .getKey(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.get_key(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .get_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.GetKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->getKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration get-key \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration/integ_1srOrx2ZWZBpBUvZwXKQmoEYga2/key' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/integration/{integ_id}/key/rotate": { "post": { "tags": [ "Integration" ], "summary": "Rotate Integration Key", "description": "Rotate the integration's key. The previous key will be immediately revoked.", "operationId": "v1.integration.rotate-key", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "integ_id", "description": "The Integration's ID.", "required": true, "schema": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IntegrationKeyOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.integration.rotateKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.integration.rotateKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.integration.rotate_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.integration.rotate_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Integration.RotateKey(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.integration.rotateKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIntegration()\n .rotateKey(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.integration.rotate_key(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .integration()\n .rotate_key(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Integration.RotateKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->integration->rotateKey(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix integration rotate-key \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"integ_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/integration/integ_1srOrx2ZWZBpBUvZwXKQmoEYga2/key/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/msg": { "get": { "tags": [ "Message" ], "summary": "List Messages", "description": "List all of the application's messages.\n\nThe `before` and `after` parameters let you filter all items created before or after a certain date. These can be\nused alongside an iterator to paginate over results within a certain window.\n\nNote that by default this endpoint is limited to retrieving 90 days' worth of data\nrelative to now or, if an iterator is provided, 90 days before/after the time indicated\nby the iterator ID. If you require data beyond those time ranges, you will need to explicitly\nset the `before` or `after` parameter as appropriate.", "operationId": "v1.message.list", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "nullable": true, "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "channel", "description": "Filter response based on the channel.", "schema": { "description": "Filter response based on the channel.", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "before", "description": "Only include items created before a certain date.", "schema": { "description": "Only include items created before a certain date.", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "after", "description": "Only include items created after a certain date.", "schema": { "description": "Only include items created after a certain date.", "type": "string", "format": "date-time", "nullable": true }, "style": "form" }, { "in": "query", "name": "with_content", "description": "When `true` message payloads are included in the response.", "schema": { "description": "When `true` message payloads are included in the response.", "default": true, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "tag", "description": "Filter messages matching the provided tag.", "schema": { "description": "Filter messages matching the provided tag.", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "event_types", "description": "Filter response based on the event type", "schema": { "description": "Filter response based on the event type", "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_MessageOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.List(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.message.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage().list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message.list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .list(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.List(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->list(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message list \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Message" ], "summary": "Create Message", "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 the application, 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 1MiB, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.", "operationId": "v1.message.create", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "with_content", "description": "When `true`, message payloads are included in the response.", "schema": { "description": "When `true`, message payloads are included in the response.", "default": true, "type": "boolean" }, "style": "form" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "413": { "description": "Payload too large", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n application: {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n },\n channels: [\"project_123\", \"group_2\"],\n deliverAt: new Date(\"2025-10-02T20:28:42+00:00\"),\n eventId: \"unique-identifier\",\n eventType: \"user.signup\",\n payload: { email: \"test@example.com\", type: \"user.created\", username: \"test_user\" },\n payloadRetentionHours: 1,\n payloadRetentionPeriod: 90,\n tags: [\"my_tag\", \"other\"],\n transformationsParams: {},\n});\n\n// Alternatively, with a raw string payload.\nconst response = await svix.message.create(\n \"app_id\",\n messageInRaw(\"user.signup\", \"This is a raw body.\", \"text/plain\")\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.create(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n application: {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n },\n channels: [\"project_123\", \"group_2\"],\n deliverAt: new Date(\"2025-10-02T20:28:42+00:00\"),\n eventId: \"unique-identifier\",\n eventType: \"user.signup\",\n payload: { email: \"test@example.com\", type: \"user.created\", username: \"test_user\" },\n payloadRetentionHours: 1,\n payloadRetentionPeriod: 90,\n tags: [\"my_tag\", \"other\"],\n transformationsParams: {},\n});\n\n// Alternatively, with a raw string payload.\nconst response = await svix.message.create(\n \"app_id\",\n messageInRaw(\"user.signup\", \"This is a raw body.\", \"text/plain\")\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessageIn(\n application=ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n deliver_at=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n event_id=\"unique-identifier\",\n event_type=\"user.signup\",\n payload={\n \"email\": \"test@example.com\",\n \"type\": \"user.created\",\n \"username\": \"test_user\",\n },\n payload_retention_hours=1,\n payload_retention_period=90,\n tags=[\n \"my_tag\",\n \"other\",\n ],\n transformations_params={},\n ),\n)\n\n# Alternatively, with a raw string payload.\nresponse = svix.message.create(\n \"app_id\",\n message_in_raw(\n event_type=\"user.signup\",\n payload=\"This is a raw body.\",\n content_type=\"text/plain\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessageIn(\n application=ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n deliver_at=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n event_id=\"unique-identifier\",\n event_type=\"user.signup\",\n payload={\n \"email\": \"test@example.com\",\n \"type\": \"user.created\",\n \"username\": \"test_user\",\n },\n payload_retention_hours=1,\n payload_retention_period=90,\n tags=[\n \"my_tag\",\n \"other\",\n ],\n transformations_params={},\n ),\n)\n\n# Alternatively, with a raw string payload.\nresponse = await svix.message.create(\n \"app_id\",\n message_in_raw(\n event_type=\"user.signup\",\n payload=\"This is a raw body.\",\n content_type=\"text/plain\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Create(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tMessageIn{\n\t\tApplication: new(\n\t\t\tApplicationIn{\n\t\t\t\tMetadata: nil,\n\t\t\t\tName: \"My first application\",\n\t\t\t\tThrottleRate: new(uint16(1)),\n\t\t\t\tUid: new(\"unique-identifier\"),\n\t\t\t},\n\t\t),\n\t\tChannels: []string{\"project_123\", \"group_2\"},\n\t\tDeliverAt: new(time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC)),\n\t\tEventId: new(\"unique-identifier\"),\n\t\tEventType: \"user.signup\",\n\t\tPayload: map[string]any{\n\t\t\t\"email\": \"test@example.com\",\n\t\t\t\"type\": \"user.created\",\n\t\t\t\"username\": \"test_user\",\n\t\t},\n\t\tPayloadRetentionHours: new(int64(1)),\n\t\tPayloadRetentionPeriod: new(int64(90)),\n\t\tTags: []string{\"my_tag\", \"other\"},\n\t\tTransformationsParams: nil,\n\t},\n\tnil,\n)\n\n// Alternatively, with a raw string payload.\nresponse, err := svix.Message.Create(ctx, \"app_id\", &NewMessageInRaw(\n\t\"user.signup\",\n\t\"This is a raw body.\",\n\t&\"text/plain\",\n))" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessageIn(\n application =\n ApplicationIn(\n metadata = mapOf(),\n name = \"My first application\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n ),\n channels = setOf(\"project_123\", \"group_2\"),\n deliverAt = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n eventId = \"unique-identifier\",\n eventType = \"user.signup\",\n payload =\n \"{\\\"email\\\": \\\"test@example.com\\\",\\\"type\\\": \\\"user.created\\\",\\\"username\\\": \\\"test_user\\\"}\",\n payloadRetentionHours = 1,\n payloadRetentionPeriod = 90,\n tags = setOf(\"my_tag\", \"other\"),\n transformationsParams = mapOf(),\n ),\n )\n\n// Alternatively, with a raw string payload.\nval response =\n svix.message.create(\n \"app_id\",\n messageInRaw(\n eventType = \"user.signup\",\n payload = \"This is a raw body.\",\n contentType = \"text/plain\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new MessageIn()\n .application(new ApplicationIn()\n .metadata(Map.of())\n .name(\"My first application\")\n .throttleRate(1L)\n .uid(\"unique-identifier\"))\n .channels(Set.of(\"project_123\", \"group_2\"))\n .deliverAt(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\"))\n .eventId(\"unique-identifier\")\n .eventType(\"user.signup\")\n .payload(\"{\\\"email\\\": \\\"test@example.com\\\",\\\"type\\\": \\\"user.created\\\",\\\"username\\\":\"\n + \" \\\"test_user\\\"}\")\n .payloadRetentionHours(1L)\n .payloadRetentionPeriod(90L)\n .tags(Set.of(\"my_tag\", \"other\"))\n .transformationsParams(Map.of()));\n\n // Alternatively, with a raw string payload.\n var response = svix.getMessage()\n .create(\n \"app_id\",\n Message.messageInRaw(\"This is a raw body.\", \"text/plain\").eventType(\"user.signup\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "# Alternatively, with a raw string payload.\nresponse = svix\n .message\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n application: {metadata: {}, name: \"My first application\", throttleRate: 1, uid: \"unique-identifier\"},\n channels: [\"project_123\", \"group_2\"],\n deliverAt: \"2025-10-02T20:28:42+00:00\",\n eventId: \"unique-identifier\",\n eventType: \"user.signup\",\n payload: {\"email\" => \"test@example.com\", \"type\" => \"user.created\", \"username\" => \"test_user\"},\n payloadRetentionHours: 1,\n payloadRetentionPeriod: 90,\n tags: [\"my_tag\", \"other\"],\n transformationsParams: {}\n }\n )\nresponse = svix.message.create(\n \"app_id\",\n message_in_raw(\n payload: \"This is a raw body.\",\n eventType: \"user.signup\",\n content_type: \"test/plain\"\n )\n)" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n MessageIn {\n application: Some(ApplicationIn {\n metadata: Some(HashMap::new()),\n name: \"My first application\".to_string(),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n }),\n channels: Some(vec![\"project_123\".to_string(), \"group_2\".to_string()]),\n deliver_at: Some(\"2025-10-02T20:28:42+00:00\".to_string()),\n event_id: Some(\"unique-identifier\".to_string()),\n event_type: \"user.signup\".to_string(),\n payload: serde_json::json!(\n { \"email\" : \"test@example.com\", \"type\" : \"user.created\", \"username\" :\n \"test_user\" }\n ),\n payload_retention_hours: Some(1),\n payload_retention_period: Some(90),\n tags: Some(vec![\"my_tag\".to_string(), \"other\".to_string()]),\n transformations_params: Some(serde_json::json!({})),\n },\n None,\n )\n .await?;\n/// Alternatively, with a raw string payload.\nlet response = svix\n .message()\n .create(\n \"app_id\",\n MessageIn::new_raw_payload(\n \"user.signup\".to_string(),\n \"This is a raw body.\".to_string(),\n )\n .with_content_type(\"text/plain\".to_string()),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new MessageIn\n {\n Application = new ApplicationIn\n {\n Metadata = [],\n Name = \"My first application\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n },\n Channels = [\"project_123\", \"group_2\"],\n DeliverAt = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n EventId = \"unique-identifier\",\n EventType = \"user.signup\",\n Payload = new Dictionary\n {\n { \"email\", \"test@example.com\" },\n { \"type\", \"user.created\" },\n { \"username\", \"test_user\" },\n },\n PayloadRetentionHours = 1,\n PayloadRetentionPeriod = 90,\n Tags = [\"my_tag\", \"other\"],\n TransformationsParams = new Dictionary { },\n }\n);\n\n// Alternatively, with a raw string payload.\nvar response = await svix.Message.CreateAsync(\n \"app_id\",\n svix.Message.messageInRaw(\n eventType: \"user.signup\",\n payload: \"This is a raw body.\",\n contentType: \"text/plain\"\n )\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->create(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessageIn::create(\n eventType: \"user.signup\",\n payload: [\"email\" => \"test@example.com\", \"type\" => \"user.created\", \"username\" => \"test_user\"]\n )\n ->withApplication(ApplicationIn::create(\n name: \"My first application\"\n )\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\"))\n ->withChannels([\"project_123\",\"group_2\"])\n ->withDeliverAt(new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\"))\n ->withEventId(\"unique-identifier\")\n ->withPayloadRetentionHours(1)\n ->withPayloadRetentionPeriod(90)\n ->withTags([\"my_tag\",\"other\"])\n);\n\n// Alternatively, with a raw string payload.\n$response = $svix->message->create(\n \"app_id\",\n MessageIn::createRaw(\n \"user.signup\",\n \"This is a raw body.\",\n \"text/plain\"\n )\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message create \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"application\": {\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n },\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"deliverAt\": \"2025-10-02T20:28:42+00:00\",\n \"eventId\": \"unique-identifier\",\n \"eventType\": \"user.signup\",\n \"payload\": {\n \"email\": \"test@example.com\",\n \"type\": \"user.created\",\n \"username\": \"test_user\"\n },\n \"payloadRetentionHours\": 1,\n \"payloadRetentionPeriod\": 90,\n \"tags\": [\n \"my_tag\",\n \"other\"\n ],\n \"transformationsParams\": {}\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"application\": {\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n },\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"deliverAt\": \"2025-10-02T20:28:42+00:00\",\n \"eventId\": \"unique-identifier\",\n \"eventType\": \"user.signup\",\n \"payload\": {\n \"email\": \"test@example.com\",\n \"type\": \"user.created\",\n \"username\": \"test_user\"\n },\n \"payloadRetentionHours\": 1,\n \"payloadRetentionPeriod\": 90,\n \"tags\": [\n \"my_tag\",\n \"other\"\n ],\n \"transformationsParams\": {}\n }'\n\n\n# Alternatively, with a raw string payload.\ncurl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/{app_id}/msg' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"eventType\": \"user.signup\",\n \"payload\": {},\n \"transformationsParams\": {\n \"rawPayload\": \"This is a raw body.\",\n \"headers\": { \"content-type\": \"text/plain\" }\n }\n }'" } ] } }, "/api/v1/app/{app_id}/msg/expunge-all-contents": { "post": { "tags": [ "Message" ], "summary": "Expunge all message contents", "description": "Delete all message payloads for the application.\n\nThis operation is only available in the Enterprise plan.\n\nA completed task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n \"status\": \"finished\",\n \"task\": \"application.purge_content\",\n \"data\": {\n \"messagesPurged\": 150\n }\n}\n```", "operationId": "v1.message.expunge-all-contents", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpungeAllContentsOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.expungeAllContents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.expungeAllContents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.expunge_all_contents(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.expunge_all_contents(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.ExpungeAllContents(ctx, \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.message.expungeAllContents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage().expungeAllContents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message.expunge_all_contents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .expunge_all_contents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.ExpungeAllContents(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->expungeAllContents(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message expunge-all-contents \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/expunge-all-contents' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/msg/precheck/active": { "post": { "tags": [ "Message" ], "summary": "Create Message Precheck", "description": "A pre-check call for `message.create` that checks whether any active endpoints are\nlistening to this message.\n\nNote: most people shouldn't be using this API. Svix doesn't bill you for\nmessages not actually sent, so using this API doesn't save money.\nIf unsure, please ask Svix support before using this API.", "operationId": "v1.message.precheck", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessagePrecheckIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessagePrecheckOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.precheck(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n channels: [\"project_123\", \"group_2\"],\n eventType: \"user.signup\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.precheck(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n channels: [\"project_123\", \"group_2\"],\n eventType: \"user.signup\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessagePrecheckIn(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n event_type=\"user.signup\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessagePrecheckIn(\n channels=[\n \"project_123\",\n \"group_2\",\n ],\n event_type=\"user.signup\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Precheck(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tMessagePrecheckIn{Channels: []string{\"project_123\", \"group_2\"}, EventType: \"user.signup\"},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessagePrecheckIn(channels = setOf(\"project_123\", \"group_2\"), eventType = \"user.signup\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage()\n .precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new MessagePrecheckIn()\n .channels(Set.of(\"project_123\", \"group_2\"))\n .eventType(\"user.signup\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message\n .precheck(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {channels: [\"project_123\", \"group_2\"], eventType: \"user.signup\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n MessagePrecheckIn {\n channels: Some(vec![\"project_123\".to_string(), \"group_2\".to_string()]),\n event_type: \"user.signup\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new MessagePrecheckIn { Channels = [\"project_123\", \"group_2\"], EventType = \"user.signup\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->precheck(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n MessagePrecheckIn::create(\n eventType: \"user.signup\"\n )\n ->withChannels([\"project_123\",\"group_2\"])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message precheck \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"eventType\": \"user.signup\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/precheck/active' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"channels\": [\n \"project_123\",\n \"group_2\"\n ],\n \"eventType\": \"user.signup\"\n }'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}": { "get": { "tags": [ "Message" ], "summary": "Get Message", "description": "Get a message by its ID or eventID.", "operationId": "v1.message.get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "with_content", "description": "When `true` message payloads are included in the response.", "schema": { "description": "When `true` message payloads are included in the response.", "default": true, "type": "boolean" }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Get(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\")" }, { "label": "Java", "lang": "Java", "source": "var response =\n svix.getMessage().get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message.get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}": { "get": { "tags": [ "Message Attempt" ], "summary": "Get Attempt", "description": "`msg_id`: Use a message id or a message `eventId`", "operationId": "v1.message-attempt.get", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "attempt_id", "description": "The MessageAttempt's ID.", "required": true, "schema": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" }, { "in": "query", "name": "expanded_statuses", "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "schema": { "description": "When `true`, return the Canceled (4) status in attempts. If `false`, canceled attempts are returned as Success (0)", "default": false, "type": "boolean" }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAttemptOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.Get(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\t\"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message_attempt\n .get(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\", \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.Get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->get(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt get \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\" \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f/attempt/atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content": { "delete": { "tags": [ "Message Attempt" ], "summary": "Delete attempt response body", "description": "Deletes the given attempt's response body.\n\nUseful when an endpoint accidentally returned sensitive content.\nThe message can't be replayed or resent once its payload has been deleted or expired.", "operationId": "v1.message-attempt.expunge-content", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "attempt_id", "description": "The MessageAttempt's ID.", "required": true, "schema": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.messageAttempt.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.messageAttempt.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.message_attempt.expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.message_attempt.expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.MessageAttempt.ExpungeContent(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\t\"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.messageAttempt.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getMessageAttempt()\n .expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message_attempt\n .expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.message_attempt()\n .expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.ExpungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->messageAttempt->expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt expunge-content \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\" \"atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f/attempt/atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2/content' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}/content": { "delete": { "tags": [ "Message" ], "summary": "Delete message payload", "description": "Delete the given message's payload.\n\nUseful in cases when a message was accidentally sent with sensitive content.\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", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.message.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.message.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.message.expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.message.expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Message.ExpungeContent(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.message.expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getMessage()\n .expungeContent(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message.expunge_content(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.message()\n .expunge_content(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.ExpungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->message->expungeContent(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message expunge-content \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f/content' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}/endpoint": { "get": { "tags": [ "Message Attempt" ], "summary": "List Attempted Destinations", "description": "List endpoints attempted by a given message.\n\nAdditionally includes metadata about the latest message attempt.\nBy default, endpoints are listed in ascending order by ID.", "operationId": "v1.message-attempt.list-attempted-destinations", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "nullable": true, "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_MessageEndpointOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.listAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.list_attempted_destinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.list_attempted_destinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.ListAttemptedDestinations(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.listAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .listAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message_attempt\n .list_attempted_destinations(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .list_attempted_destinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.ListAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->listAttemptedDestinations(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt list-attempted-destinations \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend": { "post": { "tags": [ "Message Attempt" ], "summary": "Resend Webhook", "description": "Resend a message to the specified endpoint.", "operationId": "v1.message-attempt.resend", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "msg_id", "description": "The Message's ID or UID.", "required": true, "schema": { "description": "The Message's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.messageAttempt.resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message_attempt.resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message_attempt.resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.MessageAttempt.Resend(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.messageAttempt.resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessageAttempt()\n .resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message_attempt\n .resend(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message_attempt()\n .resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.MessageAttempt.Resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->messageAttempt->resend(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message-attempt resend \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/msg/msg_33ZHzkmDazsPr4mDUsdzXJrGQ1f/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/resend' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/poller/{sink_id}": { "get": { "tags": [ "Message" ], "summary": "Poller Poll", "description": "Reads the stream of created messages for an application, filtered on the Sink's event types and Channels.", "operationId": "v1.message.poller.poll", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "nullable": true }, "style": "form" }, { "in": "query", "name": "event_type", "description": "Filters messages sent with this event type (optional).", "schema": { "description": "Filters messages sent with this event type (optional).", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true, "example": "user.signup" }, "style": "form" }, { "in": "query", "name": "channel", "description": "Filters messages sent with this channel (optional).", "schema": { "description": "Filters messages sent with this channel (optional).", "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "nullable": true, "example": "project_1337" }, "style": "form" }, { "in": "query", "name": "after", "schema": { "type": "string", "format": "date-time", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PollingEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.poller.poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.poller.poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Poller.Poll(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.poller.poll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage()\n .getPoller()\n .poll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.message.poller.poll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .poller()\n .poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Poller.Poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->poller->poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message poller poll \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/poller/sink_31Dc11sPYY9aLDkwPuGMa' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}": { "get": { "tags": [ "Message" ], "summary": "Poller Consumer Poll", "description": "Reads the stream of created messages for an application, filtered on the Sink's event types and\nChannels, using server-managed iterator tracking.", "operationId": "v1.message.poller.consumer-poll", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "consumer_id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PollingEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.consumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.consumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.poller.consumer_poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.poller.consumer_poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Poller.ConsumerPoll(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\t\"consumer_id\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.poller.consumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage()\n .getPoller()\n .consumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"sink_31Dc11sPYY9aLDkwPuGMa\", \"consumer_id\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message\n .poller\n .consumer_poll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", \"sink_31Dc11sPYY9aLDkwPuGMa\", \"consumer_id\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .poller()\n .consumer_poll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n \"consumer_id\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Poller.ConsumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->poller->consumerPoll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message poller consumer-poll \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"sink_31Dc11sPYY9aLDkwPuGMa\" \"consumer_id\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/poller/sink_31Dc11sPYY9aLDkwPuGMa/consumer/consumer_id' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek": { "post": { "tags": [ "Message" ], "summary": "Poller Consumer Seek", "description": "Sets the starting offset for the consumer of a polling endpoint.", "operationId": "v1.message.poller.consumer-seek", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "consumer_id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PollingEndpointConsumerSeekIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PollingEndpointConsumerSeekOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.consumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n {\n after: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.message.poller.consumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n {\n after: new Date(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.message.poller.consumer_seek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n PollingEndpointConsumerSeekIn(\n after=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.message.poller.consumer_seek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n PollingEndpointConsumerSeekIn(\n after=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Message.Poller.ConsumerSeek(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\t\"consumer_id\",\n\tPollingEndpointConsumerSeekIn{After: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC)},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.message.poller.consumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n PollingEndpointConsumerSeekIn(after = Instant.parse(\"2025-10-02T20:28:42+00:00\")),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getMessage()\n .getPoller()\n .consumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n new PollingEndpointConsumerSeekIn()\n .after(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .message\n .poller\n .consumer_seek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n {after: \"2025-10-02T20:28:42+00:00\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .message()\n .poller()\n .consumer_seek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n \"consumer_id\".to_string(),\n PollingEndpointConsumerSeekIn {\n after: \"2025-10-02T20:28:42+00:00\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Message.Poller.ConsumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n new PollingEndpointConsumerSeekIn { After = DateTime.Parse(\"2025-10-02T20:28:42+00:00\") }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->message->poller->consumerSeek(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n \"consumer_id\",\n PollingEndpointConsumerSeekIn::create(\n after: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\")\n )\n\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix message poller consumer-seek \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" \"sink_31Dc11sPYY9aLDkwPuGMa\" \"consumer_id\" '{\n \"after\": \"2025-10-02T20:28:42+00:00\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/poller/sink_31Dc11sPYY9aLDkwPuGMa/consumer/consumer_id/seek' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"after\": \"2025-10-02T20:28:42+00:00\"\n }'" } ] } }, "/api/v1/auth/app-portal-access/{app_id}": { "post": { "tags": [ "Authentication" ], "summary": "Get Consumer App Portal Access", "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", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppPortalAccessIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppPortalAccessOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.authentication.appPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n application: {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n },\n capabilities: [],\n expiry: 1,\n featureFlags: [],\n sessionId: \"user_1FB8\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.authentication.appPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n application: {\n metadata: {},\n name: \"My first application\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n },\n capabilities: [],\n expiry: 1,\n featureFlags: [],\n sessionId: \"user_1FB8\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.authentication.app_portal_access(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n AppPortalAccessIn(\n application=ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n capabilities=[],\n expiry=1,\n feature_flags=[],\n session_id=\"user_1FB8\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.authentication.app_portal_access(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n AppPortalAccessIn(\n application=ApplicationIn(\n metadata={},\n name=\"My first application\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n ),\n capabilities=[],\n expiry=1,\n feature_flags=[],\n session_id=\"user_1FB8\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Authentication.AppPortalAccess(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tAppPortalAccessIn{\n\t\tApplication: new(\n\t\t\tApplicationIn{\n\t\t\t\tMetadata: nil,\n\t\t\t\tName: \"My first application\",\n\t\t\t\tThrottleRate: new(uint16(1)),\n\t\t\t\tUid: new(\"unique-identifier\"),\n\t\t\t},\n\t\t),\n\t\tCapabilities: []AppPortalCapability{\"ViewBase\", \"ViewEndpointSecret\"},\n\t\tExpiry: new(uint64(1)),\n\t\tFeatureFlags: []string{},\n\t\tSessionId: new(\"user_1FB8\"),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.authentication.appPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n AppPortalAccessIn(\n application =\n ApplicationIn(\n metadata = mapOf(),\n name = \"My first application\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n ),\n capabilities =\n setOf(AppPortalCapability.VIEW_BASE, AppPortalCapability.VIEW_ENDPOINT_SECRET),\n expiry = 1u,\n featureFlags = setOf(),\n sessionId = \"user_1FB8\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getAuthentication()\n .appPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new AppPortalAccessIn()\n .application(new ApplicationIn()\n .metadata(Map.of())\n .name(\"My first application\")\n .throttleRate(1L)\n .uid(\"unique-identifier\"))\n .capabilities(\n Set.of(AppPortalCapability.VIEW_BASE, AppPortalCapability.VIEW_ENDPOINT_SECRET))\n .expiry(1L)\n .featureFlags(Set.of())\n .sessionId(\"user_1FB8\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .authentication\n .app_portal_access(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n {\n application: {metadata: {}, name: \"My first application\", throttleRate: 1, uid: \"unique-identifier\"},\n capabilities: [\"ViewBase\", \"ViewEndpointSecret\"],\n expiry: 1,\n featureFlags: [],\n sessionId: \"user_1FB8\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .authentication()\n .app_portal_access(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n AppPortalAccessIn {\n application: Some(ApplicationIn {\n metadata: Some(HashMap::new()),\n name: \"My first application\".to_string(),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n }),\n capabilities: Some(vec![]),\n expiry: Some(1),\n feature_flags: Some(vec![]),\n session_id: Some(\"user_1FB8\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.AppPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new AppPortalAccessIn\n {\n Application = new ApplicationIn\n {\n Metadata = [],\n Name = \"My first application\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n },\n Capabilities = [AppPortalCapability.ViewBase, AppPortalCapability.ViewEndpointSecret],\n Expiry = 1,\n FeatureFlags = [],\n SessionId = \"user_1FB8\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->authentication->appPortalAccess(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n AppPortalAccessIn::create()\n ->withApplication(ApplicationIn::create(\n name: \"My first application\"\n )\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\"))\n ->withCapabilities([])\n ->withExpiry(1)\n ->withFeatureFlags([])\n ->withSessionId(\"user_1FB8\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication app-portal-access \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"application\": {\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n },\n \"capabilities\": [\n \"ViewBase\",\n \"ViewEndpointSecret\"\n ],\n \"expiry\": 1,\n \"featureFlags\": [],\n \"sessionId\": \"user_1FB8\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/app-portal-access/app_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"application\": {\n \"metadata\": {},\n \"name\": \"My first application\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\"\n },\n \"capabilities\": [\n \"ViewBase\",\n \"ViewEndpointSecret\"\n ],\n \"expiry\": 1,\n \"featureFlags\": [],\n \"sessionId\": \"user_1FB8\"\n }'" } ] } }, "/api/v1/auth/app/{app_id}/expire-all": { "post": { "tags": [ "Authentication" ], "summary": "Expire All", "description": "Expire all of the tokens associated with a specific application.", "operationId": "v1.authentication.expire-all", "parameters": [ { "in": "path", "name": "app_id", "description": "The Application's ID or UID.", "required": true, "schema": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationTokenExpireIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.authentication.expireAll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n expiry: 60,\n sessionIds: [],\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.authentication.expireAll(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {\n expiry: 60,\n sessionIds: [],\n});" }, { "label": "Python", "lang": "Python", "source": "svix.authentication.expire_all(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationTokenExpireIn(\n expiry=60,\n session_ids=[],\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.authentication.expire_all(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationTokenExpireIn(\n expiry=60,\n session_ids=[],\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Authentication.ExpireAll(\n\tctx,\n\t\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n\tApplicationTokenExpireIn{Expiry: new(int64(60)), SessionIds: []string{}},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.authentication.expireAll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationTokenExpireIn(expiry = 60, sessionIds = listOf()),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getAuthentication()\n .expireAll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationTokenExpireIn().expiry(60L).sessionIds(List.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.authentication.expire_all(\"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\", {expiry: 60, sessionIds: []})" }, { "label": "Rust", "lang": "Rust", "source": "svix.authentication()\n .expire_all(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string(),\n ApplicationTokenExpireIn {\n expiry: Some(60),\n session_ids: Some(vec![]),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.ExpireAll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n new ApplicationTokenExpireIn { Expiry = 60, SessionIds = [] }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->authentication->expireAll(\n \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n ApplicationTokenExpireIn::create()\n ->withExpiry(60)\n ->withSessionIds([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication expire-all \"app_1srOrx2ZWZBpBUvZwXKQmoEYga2\" '{\n \"expiry\": 60,\n \"sessionIds\": []\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/app/app_1srOrx2ZWZBpBUvZwXKQmoEYga2/expire-all' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"expiry\": 60,\n \"sessionIds\": []\n }'" } ] } }, "/api/v1/auth/logout": { "post": { "tags": [ "Authentication" ], "summary": "Logout", "description": "Logout an app token.\n\nTrying to log out other tokens will fail.", "operationId": "v1.authentication.logout", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.authentication.logout();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.authentication.logout();" }, { "label": "Python", "lang": "Python", "source": "svix.authentication.logout()" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.authentication.logout()" }, { "label": "Go", "lang": "Go", "source": "err := svix.Authentication.Logout(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.authentication\n .logout()" }, { "label": "Java", "lang": "Java", "source": "svix.getAuthentication().logout();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.authentication.logout" }, { "label": "Rust", "lang": "Rust", "source": "svix.authentication().logout(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.Logout();" }, { "label": "PHP", "lang": "PHP", "source": "$svix->authentication->logout();" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication logout" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/logout' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/auth/stream-logout": { "post": { "tags": [ "Stream Authentication" ], "summary": "Stream Logout", "description": "Logout a stream token.\n\nTrying to log out other tokens will fail.", "operationId": "v1.authentication.stream-logout", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.authentication.streamLogout();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.authentication.streamLogout();" }, { "label": "Python", "lang": "Python", "source": "svix.authentication.stream_logout()" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.authentication.stream_logout()" }, { "label": "Go", "lang": "Go", "source": "err := svix.Authentication.StreamLogout(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.authentication\n .streamLogout()" }, { "label": "Java", "lang": "Java", "source": "svix.getAuthentication().streamLogout();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.authentication.stream_logout" }, { "label": "Rust", "lang": "Rust", "source": "svix.authentication().stream_logout(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.StreamLogout();" }, { "label": "PHP", "lang": "PHP", "source": "$svix->authentication->streamLogout();" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication stream-logout" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/stream-logout' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/auth/stream-portal-access/{stream_id}": { "post": { "tags": [ "Stream Authentication" ], "summary": "Get Stream Portal Access", "description": "Use this function to get magic links (and authentication codes) for connecting your users to the Stream Consumer Portal.", "operationId": "v1.authentication.stream-portal-access", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamPortalAccessIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppPortalAccessOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.authentication.streamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n {\n expiry: 1,\n featureFlags: [],\n sessionId: \"user_1FB8\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.authentication.streamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n {\n expiry: 1,\n featureFlags: [],\n sessionId: \"user_1FB8\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.authentication.stream_portal_access(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPortalAccessIn(\n expiry=1,\n feature_flags=[],\n session_id=\"user_1FB8\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.authentication.stream_portal_access(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPortalAccessIn(\n expiry=1,\n feature_flags=[],\n session_id=\"user_1FB8\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Authentication.StreamPortalAccess(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\tStreamPortalAccessIn{\n\t\tExpiry: new(uint64(1)),\n\t\tFeatureFlags: []string{},\n\t\tSessionId: new(\"user_1FB8\"),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.authentication.streamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPortalAccessIn(expiry = 1u, featureFlags = setOf(), sessionId = \"user_1FB8\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getAuthentication()\n .streamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamPortalAccessIn().expiry(1L).featureFlags(Set.of()).sessionId(\"user_1FB8\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .authentication\n .stream_portal_access(\"strm_31Dc0DD72P5AddYUguyBd\", {expiry: 1, featureFlags: [], sessionId: \"user_1FB8\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .authentication()\n .stream_portal_access(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n StreamPortalAccessIn {\n expiry: Some(1),\n feature_flags: Some(vec![]),\n session_id: Some(\"user_1FB8\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.StreamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamPortalAccessIn\n {\n Expiry = 1,\n FeatureFlags = [],\n SessionId = \"user_1FB8\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->authentication->streamPortalAccess(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPortalAccessIn::create()\n ->withExpiry(1)\n ->withFeatureFlags([])\n ->withSessionId(\"user_1FB8\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication stream-portal-access \"strm_31Dc0DD72P5AddYUguyBd\" '{\n \"expiry\": 1,\n \"featureFlags\": [],\n \"sessionId\": \"user_1FB8\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/stream-portal-access/strm_31Dc0DD72P5AddYUguyBd' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"expiry\": 1,\n \"featureFlags\": [],\n \"sessionId\": \"user_1FB8\"\n }'" } ] } }, "/api/v1/auth/stream/{stream_id}/expire-all": { "post": { "tags": [ "Stream Authentication" ], "summary": "Stream Expire All", "description": "Expire all of the tokens associated with a specific stream.", "operationId": "v1.authentication.stream-expire-all", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamTokenExpireIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.authentication.streamExpireAll(\"strm_31Dc0DD72P5AddYUguyBd\", {\n expiry: 60,\n sessionIds: [],\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.authentication.streamExpireAll(\"strm_31Dc0DD72P5AddYUguyBd\", {\n expiry: 60,\n sessionIds: [],\n});" }, { "label": "Python", "lang": "Python", "source": "svix.authentication.stream_expire_all(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamTokenExpireIn(\n expiry=60,\n session_ids=[],\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.authentication.stream_expire_all(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamTokenExpireIn(\n expiry=60,\n session_ids=[],\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Authentication.StreamExpireAll(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\tStreamTokenExpireIn{Expiry: new(int64(60)), SessionIds: []string{}},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.authentication.streamExpireAll(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamTokenExpireIn(expiry = 60, sessionIds = listOf()),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getAuthentication()\n .streamExpireAll(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamTokenExpireIn().expiry(60L).sessionIds(List.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.authentication.stream_expire_all(\"strm_31Dc0DD72P5AddYUguyBd\", {expiry: 60, sessionIds: []})" }, { "label": "Rust", "lang": "Rust", "source": "svix.authentication()\n .stream_expire_all(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n StreamTokenExpireIn {\n expiry: Some(60),\n session_ids: Some(vec![]),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.StreamExpireAll(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamTokenExpireIn { Expiry = 60, SessionIds = [] }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->authentication->streamExpireAll(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamTokenExpireIn::create()\n ->withExpiry(60)\n ->withSessionIds([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication stream-expire-all \"strm_31Dc0DD72P5AddYUguyBd\" '{\n \"expiry\": 60,\n \"sessionIds\": []\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/stream/strm_31Dc0DD72P5AddYUguyBd/expire-all' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"expiry\": 60,\n \"sessionIds\": []\n }'" } ] } }, "/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token": { "get": { "tags": [ "Stream Authentication" ], "summary": "Get Poller Token", "description": "Get the current auth token for the stream poller.", "operationId": "v1.authentication.get-stream-poller-token", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.authentication.getStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.authentication.getStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.authentication.get_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.authentication.get_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Authentication.GetStreamPollerToken(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.authentication.getStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getAuthentication()\n .getStreamPollerToken(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.authentication.get_stream_poller_token(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .authentication()\n .get_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.GetStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->authentication->getStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication get-stream-poller-token \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/auth/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/poller/token' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate": { "post": { "tags": [ "Stream Authentication" ], "summary": "Rotate Poller Token", "description": "Create a new auth token for the stream poller API.", "operationId": "v1.authentication.rotate-stream-poller-token", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RotatePollerTokenIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.authentication.rotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n expiry: 1,\n oldTokenExpiry: 1,\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.authentication.rotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n expiry: 1,\n oldTokenExpiry: 1,\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.authentication.rotate_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n RotatePollerTokenIn(\n expiry=1,\n old_token_expiry=1,\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.authentication.rotate_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n RotatePollerTokenIn(\n expiry=1,\n old_token_expiry=1,\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Authentication.RotateStreamPollerToken(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tRotatePollerTokenIn{Expiry: new(int64(1)), OldTokenExpiry: new(int64(1))},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.authentication.rotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n RotatePollerTokenIn(expiry = 1, oldTokenExpiry = 1),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getAuthentication()\n .rotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new RotatePollerTokenIn().expiry(1L).oldTokenExpiry(1L));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .authentication\n .rotate_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {expiry: 1, oldTokenExpiry: 1}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .authentication()\n .rotate_stream_poller_token(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n RotatePollerTokenIn {\n expiry: Some(1),\n old_token_expiry: Some(1),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Authentication.RotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new RotatePollerTokenIn { Expiry = 1, OldTokenExpiry = 1 }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->authentication->rotateStreamPollerToken(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n RotatePollerTokenIn::create()\n ->withExpiry(1)\n ->withOldTokenExpiry(1)\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix authentication rotate-stream-poller-token \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"expiry\": 1,\n \"oldTokenExpiry\": 1\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/auth/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/poller/token/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"expiry\": 1,\n \"oldTokenExpiry\": 1\n }'" } ] } }, "/api/v1/background-task": { "get": { "tags": [ "Background Task" ], "summary": "List Background Tasks", "description": "List background tasks executed in the past 90 days.", "operationId": "v1.background-task.list", "parameters": [ { "in": "query", "name": "status", "description": "Filter the response based on the status.", "schema": { "description": "Filter the response based on the status.", "$ref": "#/components/schemas/BackgroundTaskStatus", "nullable": true }, "style": "form" }, { "in": "query", "name": "task", "description": "Filter the response based on the type.", "schema": { "description": "Filter the response based on the type.", "$ref": "#/components/schemas/BackgroundTaskType", "nullable": true }, "style": "form" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "nullable": true, "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_BackgroundTaskOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.backgroundTask.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.backgroundTask.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.background_task.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.background_task.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.BackgroundTask.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.backgroundTask.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getBackgroundTask().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.background_task.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.background_task().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.BackgroundTask.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->backgroundTask->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix background-task list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/background-task' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/background-task/{task_id}": { "get": { "tags": [ "Background Task" ], "summary": "Get Background Task", "description": "Get a background task by ID.", "operationId": "v1.background-task.get", "parameters": [ { "in": "path", "name": "task_id", "description": "The QueueBackgroundTask's ID.", "required": true, "schema": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BackgroundTaskOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.backgroundTask.get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.backgroundTask.get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.background_task.get(\n \"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.background_task.get(\n \"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.BackgroundTask.Get(ctx, \"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.backgroundTask.get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getBackgroundTask().get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.background_task.get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .background_task()\n .get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.BackgroundTask.Get(\"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->backgroundTask->get(\n \"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix background-task get \"qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/background-task/qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/connector": { "get": { "tags": [ "Connector" ], "summary": "List Connectors", "description": "List all connectors for an application.", "operationId": "v1.connector.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 34, "minLength": 34, "pattern": "^trtmpl_[A-Za-z0-9]{27}$", "nullable": true, "example": "trtmpl_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" }, { "in": "query", "name": "product_type", "schema": { "$ref": "#/components/schemas/ConnectorProduct", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_ConnectorOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.connector.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.connector.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.connector.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.connector.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Connector.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.connector.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getConnector().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.connector.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.connector().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->connector->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix connector list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/connector' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Connector" ], "summary": "Create Connector", "description": "Create a new connector.", "operationId": "v1.connector.create", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.connector.create({\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind.Custom,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n productType: ConnectorProduct.Dispatch,\n transformation: \"function handler(webhook) { /* ... */ }\",\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.connector.create({\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind.Custom,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n productType: ConnectorProduct.Dispatch,\n transformation: \"function handler(webhook) { /* ... */ }\",\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.connector.create(\n ConnectorIn(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"Example connector description\",\n feature_flags=[],\n instructions=\"Markdown-formatted instructions\",\n kind=ConnectorKind.CUSTOM,\n logo=\"https://example.com/logo.png\",\n name=\"My first connector\",\n product_type=ConnectorProduct.DISPATCH,\n transformation=\"function handler(webhook) { /* ... */ }\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.connector.create(\n ConnectorIn(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"Example connector description\",\n feature_flags=[],\n instructions=\"Markdown-formatted instructions\",\n kind=ConnectorKind.CUSTOM,\n logo=\"https://example.com/logo.png\",\n name=\"My first connector\",\n product_type=ConnectorProduct.DISPATCH,\n transformation=\"function handler(webhook) { /* ... */ }\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Connector.Create(\n\tctx,\n\tConnectorIn{\n\t\tAllowedEventTypes: []string{\"user.signup\", \"user.deleted\"},\n\t\tDescription: new(\"Example connector description\"),\n\t\tFeatureFlags: []string{},\n\t\tInstructions: new(\"Markdown-formatted instructions\"),\n\t\tKind: new(CONNECTORKIND_CUSTOM),\n\t\tLogo: new(\"https://example.com/logo.png\"),\n\t\tName: \"My first connector\",\n\t\tProductType: new(CONNECTORPRODUCT_DISPATCH),\n\t\tTransformation: \"function handler(webhook) { /* ... */ }\",\n\t\tUid: new(\"unique-identifier\"),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.connector.create(\n ConnectorIn(\n allowedEventTypes = setOf(\"user.signup\", \"user.deleted\"),\n description = \"Example connector description\",\n featureFlags = setOf(),\n instructions = \"Markdown-formatted instructions\",\n kind = ConnectorKind.CUSTOM,\n logo = \"https://example.com/logo.png\",\n name = \"My first connector\",\n productType = ConnectorProduct.DISPATCH,\n transformation = \"function handler(webhook) { /* ... */ }\",\n uid = \"unique-identifier\",\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getConnector()\n .create(new ConnectorIn()\n .allowedEventTypes(Set.of(\"user.signup\", \"user.deleted\"))\n .description(\"Example connector description\")\n .featureFlags(Set.of())\n .instructions(\"Markdown-formatted instructions\")\n .kind(ConnectorKind.CUSTOM)\n .logo(URI.create(\"https://example.com/logo.png\"))\n .name(\"My first connector\")\n .productType(ConnectorProduct.DISPATCH)\n .transformation(\"function handler(webhook) { /* ... */ }\")\n .uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .connector\n .create(\n {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind::CUSTOM,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n productType: ConnectorProduct::DISPATCH,\n transformation: \"function handler(webhook) { /* ... */ }\",\n uid: \"unique-identifier\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .connector()\n .create(\n ConnectorIn {\n allowed_event_types: Some(\n vec![\"user.signup\".to_string(), \"user.deleted\".to_string()],\n ),\n description: Some(\"Example connector description\".to_string()),\n feature_flags: Some(vec![]),\n instructions: Some(\"Markdown-formatted instructions\".to_string()),\n kind: Some(ConnectorKind::Custom),\n logo: Some(\"https://example.com/logo.png\".to_string()),\n name: \"My first connector\".to_string(),\n product_type: Some(ConnectorProduct::Dispatch),\n transformation: \"function handler(webhook) { /* ... */ }\".to_string(),\n uid: Some(\"unique-identifier\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.Create(\n new ConnectorIn\n {\n AllowedEventTypes = [\"user.signup\", \"user.deleted\"],\n Description = \"Example connector description\",\n FeatureFlags = [],\n Instructions = \"Markdown-formatted instructions\",\n Kind = ConnectorKind.Custom,\n Logo = \"https://example.com/logo.png\",\n Name = \"My first connector\",\n ProductType = ConnectorProduct.Dispatch,\n Transformation = \"function handler(webhook) { /* ... */ }\",\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->connector->create(\n ConnectorIn::create(\n name: \"My first connector\",\n transformation: \"function handler(webhook) { /* ... */ }\"\n )\n ->withAllowedEventTypes([\"user.signup\",\"user.deleted\"])\n ->withDescription(\"Example connector description\")\n ->withFeatureFlags([])\n ->withInstructions(\"Markdown-formatted instructions\")\n ->withKind(ConnectorKind::CUSTOM)\n ->withLogo(\"https://example.com/logo.png\")\n ->withProductType(ConnectorProduct::DISPATCH)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix connector create '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"Example connector description\",\n \"featureFlags\": [],\n \"instructions\": \"Markdown-formatted instructions\",\n \"kind\": \"Custom\",\n \"logo\": \"https://example.com/logo.png\",\n \"name\": \"My first connector\",\n \"productType\": \"Dispatch\",\n \"transformation\": \"function handler(webhook) { /* ... */ }\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/connector' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"Example connector description\",\n \"featureFlags\": [],\n \"instructions\": \"Markdown-formatted instructions\",\n \"kind\": \"Custom\",\n \"logo\": \"https://example.com/logo.png\",\n \"name\": \"My first connector\",\n \"productType\": \"Dispatch\",\n \"transformation\": \"function handler(webhook) { /* ... */ }\",\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/connector/{connector_id}": { "get": { "tags": [ "Connector" ], "summary": "Get Connector", "description": "Get a connector.", "operationId": "v1.connector.get", "parameters": [ { "in": "path", "name": "connector_id", "description": "The Connector's ID or UID.", "required": true, "schema": { "description": "The Connector's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.connector.get(\"connector_id\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.connector.get(\"connector_id\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.connector.get(\n \"connector_id\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.connector.get(\n \"connector_id\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Connector.Get(ctx, \"connector_id\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.connector.get(\"connector_id\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getConnector().get(\"connector_id\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.connector.get(\"connector_id\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.connector().get(\"connector_id\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.Get(\"connector_id\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->connector->get(\n \"connector_id\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix connector get \"connector_id\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/connector/connector_id' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Connector" ], "summary": "Update Connector", "description": "Update a connector.", "operationId": "v1.connector.update", "parameters": [ { "in": "path", "name": "connector_id", "description": "The Connector's ID or UID.", "required": true, "schema": { "description": "The Connector's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.connector.update(\"connector_id\", {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind.Custom,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n transformation: \"function handler(webhook) { /* ... */ }\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.connector.update(\"connector_id\", {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind.Custom,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n transformation: \"function handler(webhook) { /* ... */ }\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.connector.update(\n \"connector_id\",\n ConnectorUpdate(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"Example connector description\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n instructions=\"Markdown-formatted instructions\",\n kind=ConnectorKind.CUSTOM,\n logo=\"https://example.com/logo.png\",\n name=\"My first connector\",\n transformation=\"function handler(webhook) { /* ... */ }\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.connector.update(\n \"connector_id\",\n ConnectorUpdate(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"Example connector description\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n instructions=\"Markdown-formatted instructions\",\n kind=ConnectorKind.CUSTOM,\n logo=\"https://example.com/logo.png\",\n name=\"My first connector\",\n transformation=\"function handler(webhook) { /* ... */ }\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Connector.Update(\n\tctx,\n\t\"connector_id\",\n\tConnectorUpdate{\n\t\tAllowedEventTypes: []string{\"user.signup\", \"user.deleted\"},\n\t\tDescription: new(\"Example connector description\"),\n\t\tFeatureFlags: []string{\"cool-new-feature\"},\n\t\tInstructions: new(\"Markdown-formatted instructions\"),\n\t\tKind: new(CONNECTORKIND_CUSTOM),\n\t\tLogo: new(\"https://example.com/logo.png\"),\n\t\tName: new(\"My first connector\"),\n\t\tTransformation: \"function handler(webhook) { /* ... */ }\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.connector.update(\n \"connector_id\",\n ConnectorUpdate(\n allowedEventTypes = setOf(\"user.signup\", \"user.deleted\"),\n description = \"Example connector description\",\n featureFlags = setOf(\"cool-new-feature\"),\n instructions = \"Markdown-formatted instructions\",\n kind = ConnectorKind.CUSTOM,\n logo = \"https://example.com/logo.png\",\n name = \"My first connector\",\n transformation = \"function handler(webhook) { /* ... */ }\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getConnector()\n .update(\n \"connector_id\",\n new ConnectorUpdate()\n .allowedEventTypes(Set.of(\"user.signup\", \"user.deleted\"))\n .description(\"Example connector description\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .instructions(\"Markdown-formatted instructions\")\n .kind(ConnectorKind.CUSTOM)\n .logo(URI.create(\"https://example.com/logo.png\"))\n .name(\"My first connector\")\n .transformation(\"function handler(webhook) { /* ... */ }\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .connector\n .update(\n \"connector_id\",\n {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"Example connector description\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"Markdown-formatted instructions\",\n kind: ConnectorKind::CUSTOM,\n logo: \"https://example.com/logo.png\",\n name: \"My first connector\",\n transformation: \"function handler(webhook) { /* ... */ }\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .connector()\n .update(\n \"connector_id\".to_string(),\n ConnectorUpdate {\n allowed_event_types: Some(\n vec![\"user.signup\".to_string(), \"user.deleted\".to_string()],\n ),\n description: Some(\"Example connector description\".to_string()),\n feature_flags: Some(vec![\"cool-new-feature\".to_string()]),\n instructions: Some(\"Markdown-formatted instructions\".to_string()),\n kind: Some(ConnectorKind::Custom),\n logo: Some(\"https://example.com/logo.png\".to_string()),\n name: Some(\"My first connector\".to_string()),\n transformation: \"function handler(webhook) { /* ... */ }\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.Update(\n \"connector_id\",\n new ConnectorUpdate\n {\n AllowedEventTypes = [\"user.signup\", \"user.deleted\"],\n Description = \"Example connector description\",\n FeatureFlags = [\"cool-new-feature\"],\n Instructions = \"Markdown-formatted instructions\",\n Kind = ConnectorKind.Custom,\n Logo = \"https://example.com/logo.png\",\n Name = \"My first connector\",\n Transformation = \"function handler(webhook) { /* ... */ }\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->connector->update(\n \"connector_id\",\n ConnectorUpdate::create(\n transformation: \"function handler(webhook) { /* ... */ }\"\n )\n ->withAllowedEventTypes([\"user.signup\",\"user.deleted\"])\n ->withDescription(\"Example connector description\")\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withInstructions(\"Markdown-formatted instructions\")\n ->withKind(ConnectorKind::CUSTOM)\n ->withLogo(\"https://example.com/logo.png\")\n ->withName(\"My first connector\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix connector update \"connector_id\" '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"Example connector description\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"instructions\": \"Markdown-formatted instructions\",\n \"kind\": \"Custom\",\n \"logo\": \"https://example.com/logo.png\",\n \"name\": \"My first connector\",\n \"transformation\": \"function handler(webhook) { /* ... */ }\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/connector/connector_id' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"Example connector description\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"instructions\": \"Markdown-formatted instructions\",\n \"kind\": \"Custom\",\n \"logo\": \"https://example.com/logo.png\",\n \"name\": \"My first connector\",\n \"transformation\": \"function handler(webhook) { /* ... */ }\"\n }'" } ] }, "delete": { "tags": [ "Connector" ], "summary": "Delete Connector", "description": "Delete a connector.", "operationId": "v1.connector.delete", "parameters": [ { "in": "path", "name": "connector_id", "description": "The Connector's ID or UID.", "required": true, "schema": { "description": "The Connector's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.connector.delete(\"connector_id\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.connector.delete(\"connector_id\");" }, { "label": "Python", "lang": "Python", "source": "svix.connector.delete(\n \"connector_id\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.connector.delete(\n \"connector_id\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Connector.Delete(ctx, \"connector_id\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.connector.delete(\n \"connector_id\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getConnector().delete(\"connector_id\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.connector.delete(\"connector_id\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.connector().delete(\"connector_id\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.Delete(\"connector_id\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->connector->delete(\n \"connector_id\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix connector delete \"connector_id\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/connector/connector_id' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Connector" ], "summary": "Patch Connector", "description": "Partially update a connector.", "operationId": "v1.connector.patch", "parameters": [ { "in": "path", "name": "connector_id", "description": "The Connector's ID or UID.", "required": true, "schema": { "description": "The Connector's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorPatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectorOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.connector.patch(\"connector_id\", {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"sample string\",\n kind: ConnectorKind.Custom,\n logo: \"sample string\",\n name: \"sample string\",\n transformation: \"sample string\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.connector.patch(\"connector_id\", {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"sample string\",\n kind: ConnectorKind.Custom,\n logo: \"sample string\",\n name: \"sample string\",\n transformation: \"sample string\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.connector.patch(\n \"connector_id\",\n ConnectorPatch(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n instructions=\"sample string\",\n kind=ConnectorKind.CUSTOM,\n logo=\"sample string\",\n name=\"sample string\",\n transformation=\"sample string\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.connector.patch(\n \"connector_id\",\n ConnectorPatch(\n allowed_event_types=[\n \"user.signup\",\n \"user.deleted\",\n ],\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n instructions=\"sample string\",\n kind=ConnectorKind.CUSTOM,\n logo=\"sample string\",\n name=\"sample string\",\n transformation=\"sample string\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Connector.Patch(\n\tctx,\n\t\"connector_id\",\n\tConnectorPatch{\n\t\tAllowedEventTypes: NewNullable([]string{\"user.signup\", \"user.deleted\"}),\n\t\tDescription: new(\"sample string\"),\n\t\tFeatureFlags: NewNullable([]string{\"cool-new-feature\"}),\n\t\tInstructions: new(\"sample string\"),\n\t\tKind: new(CONNECTORKIND_CUSTOM),\n\t\tLogo: NewNullable(\"sample string\"),\n\t\tName: new(\"sample string\"),\n\t\tTransformation: new(\"sample string\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.connector.patch(\n \"connector_id\",\n ConnectorPatch(\n allowedEventTypes = MaybeUnset.Present(setOf(\"user.signup\", \"user.deleted\")),\n description = \"sample string\",\n featureFlags = MaybeUnset.Present(setOf(\"cool-new-feature\")),\n instructions = \"sample string\",\n kind = ConnectorKind.CUSTOM,\n logo = MaybeUnset.Present(\"https://example.com/\"),\n name = \"sample string\",\n transformation = \"sample string\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getConnector()\n .patch(\n \"connector_id\",\n new ConnectorPatch()\n .allowedEventTypes(Set.of(\"user.signup\", \"user.deleted\"))\n .description(\"sample string\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .instructions(\"sample string\")\n .kind(ConnectorKind.CUSTOM)\n .logo(URI.create(\"https://example.com/\"))\n .name(\"sample string\")\n .transformation(\"sample string\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .connector\n .patch(\n \"connector_id\",\n {\n allowedEventTypes: [\"user.signup\", \"user.deleted\"],\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n instructions: \"sample string\",\n kind: ConnectorKind::CUSTOM,\n logo: \"sample string\",\n name: \"sample string\",\n transformation: \"sample string\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .connector()\n .patch(\n \"connector_id\".to_string(),\n ConnectorPatch {\n allowed_event_types: js_option::JsOption::Some(\n vec![\"user.signup\".to_string(), \"user.deleted\".to_string()],\n ),\n description: Some(\"sample string\".to_string()),\n feature_flags: js_option::JsOption::Some(\n vec![\"cool-new-feature\".to_string()],\n ),\n instructions: Some(\"sample string\".to_string()),\n kind: Some(ConnectorKind::Custom),\n logo: js_option::JsOption::Some(\"sample string\".to_string()),\n name: Some(\"sample string\".to_string()),\n transformation: Some(\"sample string\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Connector.Patch(\n \"connector_id\",\n new ConnectorPatch\n {\n AllowedEventTypes = MaybeUnset?>.Set([\"user.signup\", \"user.deleted\"]),\n Description = \"sample string\",\n FeatureFlags = MaybeUnset?>.Set([\"cool-new-feature\"]),\n Instructions = \"sample string\",\n Kind = ConnectorKind.Custom,\n Logo = \"sample string\",\n Name = \"sample string\",\n Transformation = \"sample string\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->connector->patch(\n \"connector_id\",\n ConnectorPatch::create()\n ->withAllowedEventTypes([\"user.signup\",\"user.deleted\"])\n ->withDescription(\"sample string\")\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withInstructions(\"sample string\")\n ->withKind(ConnectorKind::CUSTOM)\n ->withLogo(\"sample string\")\n ->withName(\"sample string\")\n ->withTransformation(\"sample string\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix connector patch \"connector_id\" '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"instructions\": \"sample string\",\n \"kind\": \"Custom\",\n \"logo\": \"sample string\",\n \"name\": \"sample string\",\n \"transformation\": \"sample string\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/connector/connector_id' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"allowedEventTypes\": [\n \"user.signup\",\n \"user.deleted\"\n ],\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"instructions\": \"sample string\",\n \"kind\": \"Custom\",\n \"logo\": \"sample string\",\n \"name\": \"sample string\",\n \"transformation\": \"sample string\"\n }'" } ] } }, "/api/v1/environment/export": { "post": { "tags": [ "Environment" ], "summary": "Export Environment Configuration", "description": "Download a JSON file containing all org-settings and event types.\n\nNote that the schema for [`EnvironmentOut`] is subject to change. The fields\nherein are provided for convenience but should be treated as JSON blobs.", "operationId": "v1.environment.export", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.environment.export();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.environment.export();" }, { "label": "Python", "lang": "Python", "source": "response = svix.environment.export()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.environment.export()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Environment.Export(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.environment.export()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEnvironment().export();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.environment.export" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.environment().export(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Environment.Export();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->environment->export();" }, { "label": "CLI", "lang": "Shell", "source": "svix environment export" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/environment/export' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/environment/import": { "post": { "tags": [ "Environment" ], "summary": "Import Environment Configuration", "description": "Import a configuration into the active organization.\n\nIt doesn't delete anything, only adds / updates what was passed to it.\n\nNote that the schema for [`EnvironmentIn`] is subject to change. The fields\nherein are provided for convenience but should be treated as JSON blobs.", "operationId": "v1.environment.import", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.environment.import({\n connectors: [],\n eventTypes: [],\n settings: {},\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.environment.import({\n connectors: [],\n eventTypes: [],\n settings: {},\n});" }, { "label": "Python", "lang": "Python", "source": "svix.environment.import_(\n EnvironmentIn(\n connectors=[],\n event_types=[],\n settings={},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.environment.import_(\n EnvironmentIn(\n connectors=[],\n event_types=[],\n settings={},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Environment.Import(\n\tctx,\n\tEnvironmentIn{Connectors: []ConnectorIn{}, EventTypes: []EventTypeIn{}, Settings: nil},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.environment.import(\n EnvironmentIn(connectors = listOf(), eventTypes = listOf(), settings = mapOf())\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEnvironment()\n .import_(\n new EnvironmentIn().connectors(List.of()).eventTypes(List.of()).settings(Map.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.environment.import({connectors: [], eventTypes: [], settings: {}})" }, { "label": "Rust", "lang": "Rust", "source": "svix.environment()\n .import(\n EnvironmentIn {\n connectors: Some(vec![]),\n event_types: Some(vec![]),\n settings: Some(serde_json::json!({})),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Environment.Import(\n new EnvironmentIn\n {\n Connectors = [],\n EventTypes = [],\n Settings = new Dictionary { },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->environment->import(\n EnvironmentIn::create()\n ->withConnectors([])\n ->withEventTypes([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix environment import '{\n \"connectors\": [],\n \"eventTypes\": [],\n \"settings\": {}\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/environment/import' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"connectors\": [],\n \"eventTypes\": [],\n \"settings\": {}\n }'" } ] } }, "/api/v1/event-type": { "get": { "tags": [ "Event Type" ], "summary": "List Event Types", "description": "Return the list of event types.", "operationId": "v1.event-type.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true, "example": "user.signup" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" }, { "in": "query", "name": "include_archived", "description": "When `true` archived (deleted but not expunged) items are included in the response.", "schema": { "description": "When `true` archived (deleted but not expunged) items are included in the response.", "default": false, "type": "boolean" }, "style": "form" }, { "in": "query", "name": "with_content", "description": "When `true` the full item (including the schema) is included in the response.", "schema": { "description": "When `true` the full item (including the schema) is included in the response.", "default": false, "type": "boolean" }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_EventTypeOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.eventType.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.event_type.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.event_type().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/event-type' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Event Type" ], "summary": "Create Event Type", "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": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.create({\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n name: \"user.signup\",\n schemas: {\n \"1\": {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.create({\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n name: \"user.signup\",\n schemas: {\n \"1\": {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.create(\n EventTypeIn(\n archived=True,\n deprecated=True,\n description=\"A user has signed up\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n name=\"user.signup\",\n schemas={\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n }\n },\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.create(\n EventTypeIn(\n archived=True,\n deprecated=True,\n description=\"A user has signed up\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n name=\"user.signup\",\n schemas={\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n }\n },\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.Create(\n\tctx,\n\tEventTypeIn{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: \"A user has signed up\",\n\t\tFeatureFlags: []string{\"cool-new-feature\"},\n\t\tGroupName: new(\"user\"),\n\t\tName: \"user.signup\",\n\t\tSchemas: nil,\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.eventType.create(\n EventTypeIn(\n archived = true,\n deprecated = true,\n description = \"A user has signed up\",\n featureFlags = setOf(\"cool-new-feature\"),\n groupName = \"user\",\n name = \"user.signup\",\n schemas = mapOf(),\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType()\n .create(new EventTypeIn()\n .archived(true)\n .deprecated(true)\n .description(\"A user has signed up\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .groupName(\"user\")\n .name(\"user.signup\")\n .schemas(Map.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .event_type\n .create(\n {\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n name: \"user.signup\",\n schemas: {}\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .event_type()\n .create(\n EventTypeIn {\n archived: Some(true),\n deprecated: Some(true),\n description: \"A user has signed up\".to_string(),\n feature_flags: Some(vec![\"cool-new-feature\".to_string()]),\n group_name: Some(\"user\".to_string()),\n name: \"user.signup\".to_string(),\n schemas: Some(\n serde_json::json!(\n { \"1\" : { \"description\" : \"An invoice was paid by a user\",\n \"properties\" : { \"invoiceId\" : { \"description\" :\n \"The invoice id\", \"type\" : \"string\" }, \"userId\" : { \"description\"\n : \"The user id\", \"type\" : \"string\" } }, \"required\" :\n [\"invoiceId\", \"userId\"], \"title\" : \"Invoice Paid Event\", \"type\" :\n \"object\" } }\n ),\n ),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.Create(\n new EventTypeIn\n {\n Archived = true,\n Deprecated = true,\n Description = \"A user has signed up\",\n FeatureFlags = [\"cool-new-feature\"],\n GroupName = \"user\",\n Name = \"user.signup\",\n Schemas = new Dictionary { },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->create(\n EventTypeIn::create(\n description: \"A user has signed up\",\n name: \"user.signup\"\n )\n ->withArchived(true)\n ->withDeprecated(true)\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withGroupName(\"user\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type create '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"A user has signed up\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"name\": \"user.signup\",\n \"schemas\": {\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/event-type' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"A user has signed up\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"name\": \"user.signup\",\n \"schemas\": {\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }\n }'" } ] } }, "/api/v1/event-type/import/openapi": { "post": { "tags": [ "Event Type" ], "summary": "Event Type Import From Openapi", "description": "Given an OpenAPI spec, create new or update existing event types.\n\nIf an existing `archived` event type is updated, it will be unarchived.\nThe importer will convert all webhooks found in the either the `webhooks` or `x-webhooks`\ntop-level.", "operationId": "v1.event-type.import-openapi", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "description": "Import a list of event types from webhooks defined in an OpenAPI spec.\n\nThe OpenAPI spec can be specified as either `spec` given the spec as a JSON object, or as `specRaw` (a `string`) which will be parsed as YAML or JSON by the server. Sending neither or both is invalid, resulting in a `400` **Bad Request**.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeImportOpenApiIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeImportOpenApiOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.importOpenapi({\n dryRun: true,\n replaceAll: true,\n spec: {\n info: { title: \"Webhook Example\", version: \"1.0.0\" },\n openapi: \"3.1.0\",\n webhooks: {\n \"pet.new\": {\n post: {\n requestBody: {\n content: {\n \"application/json\": {\n schema: {\n properties: {\n id: { format: \"int64\", type: \"integer\" },\n name: { type: \"string\" },\n tag: { type: \"string\" },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n description: \"Information about a new pet in the system\",\n },\n responses: {\n \"200\": {\n description:\n \"Return a 200 status to indicate that the data was received successfully\",\n },\n },\n },\n },\n },\n },\n specRaw: \"sample string\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.importOpenapi({\n dryRun: true,\n replaceAll: true,\n spec: {\n info: { title: \"Webhook Example\", version: \"1.0.0\" },\n openapi: \"3.1.0\",\n webhooks: {\n \"pet.new\": {\n post: {\n requestBody: {\n content: {\n \"application/json\": {\n schema: {\n properties: {\n id: { format: \"int64\", type: \"integer\" },\n name: { type: \"string\" },\n tag: { type: \"string\" },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n description: \"Information about a new pet in the system\",\n },\n responses: {\n \"200\": {\n description:\n \"Return a 200 status to indicate that the data was received successfully\",\n },\n },\n },\n },\n },\n },\n specRaw: \"sample string\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.import_openapi(\n EventTypeImportOpenApiIn(\n dry_run=True,\n replace_all=True,\n spec={\n \"info\": {\"title\": \"Webhook Example\", \"version\": \"1.0.0\"},\n \"openapi\": \"3.1.0\",\n \"webhooks\": {\n \"pet.new\": {\n \"post\": {\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"id\": {\n \"format\": \"int64\",\n \"type\": \"integer\",\n },\n \"name\": {\"type\": \"string\"},\n \"tag\": {\"type\": \"string\"},\n },\n \"required\": [\"id\", \"name\"],\n }\n }\n },\n \"description\": \"Information about a new pet in the system\",\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n }\n },\n }\n }\n },\n },\n spec_raw=\"sample string\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.import_openapi(\n EventTypeImportOpenApiIn(\n dry_run=True,\n replace_all=True,\n spec={\n \"info\": {\"title\": \"Webhook Example\", \"version\": \"1.0.0\"},\n \"openapi\": \"3.1.0\",\n \"webhooks\": {\n \"pet.new\": {\n \"post\": {\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"id\": {\n \"format\": \"int64\",\n \"type\": \"integer\",\n },\n \"name\": {\"type\": \"string\"},\n \"tag\": {\"type\": \"string\"},\n },\n \"required\": [\"id\", \"name\"],\n }\n }\n },\n \"description\": \"Information about a new pet in the system\",\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n }\n },\n }\n }\n },\n },\n spec_raw=\"sample string\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.ImportOpenapi(\n\tctx,\n\tEventTypeImportOpenApiIn{\n\t\tDryRun: new(true),\n\t\tReplaceAll: new(true),\n\t\tSpec: nil,\n\t\tSpecRaw: new(\"sample string\"),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.eventType.importOpenapi(\n EventTypeImportOpenApiIn(\n dryRun = true,\n replaceAll = true,\n spec = mapOf(),\n specRaw = \"sample string\",\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType()\n .importOpenapi(new EventTypeImportOpenApiIn()\n .dryRun(true)\n .replaceAll(true)\n .spec(Map.of())\n .specRaw(\"sample string\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.event_type.import_openapi({dryRun: true, replaceAll: true, spec: {}, specRaw: \"sample string\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .event_type()\n .import_openapi(\n EventTypeImportOpenApiIn {\n dry_run: Some(true),\n replace_all: Some(true),\n spec: Some(\n serde_json::json!(\n { \"info\" : { \"title\" : \"Webhook Example\", \"version\" : \"1.0.0\" },\n \"openapi\" : \"3.1.0\", \"webhooks\" : { \"pet.new\" : { \"post\" : {\n \"requestBody\" : { \"content\" : { \"application/json\" : { \"schema\" :\n { \"properties\" : { \"id\" : { \"format\" : \"int64\", \"type\" :\n \"integer\" }, \"name\" : { \"type\" : \"string\" }, \"tag\" : { \"type\" :\n \"string\" } }, \"required\" : [\"id\", \"name\"] } } }, \"description\" :\n \"Information about a new pet in the system\" }, \"responses\" : {\n \"200\" : { \"description\" :\n \"Return a 200 status to indicate that the data was received successfully\"\n } } } } } }\n ),\n ),\n spec_raw: Some(\"sample string\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.ImportOpenapi(\n new EventTypeImportOpenApiIn\n {\n DryRun = true,\n ReplaceAll = true,\n Spec = new Dictionary { },\n SpecRaw = \"sample string\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->importOpenapi(\n EventTypeImportOpenApiIn::create()\n ->withDryRun(true)\n ->withReplaceAll(true)\n ->withSpecRaw(\"sample string\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type import-openapi '{\n \"dryRun\": true,\n \"replaceAll\": true,\n \"spec\": {\n \"info\": {\n \"title\": \"Webhook Example\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.1.0\",\n \"webhooks\": {\n \"pet.new\": {\n \"post\": {\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"id\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"tag\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"name\"\n ]\n }\n }\n },\n \"description\": \"Information about a new pet in the system\"\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n }\n }\n }\n }\n }\n },\n \"specRaw\": \"sample string\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/event-type/import/openapi' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"dryRun\": true,\n \"replaceAll\": true,\n \"spec\": {\n \"info\": {\n \"title\": \"Webhook Example\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.1.0\",\n \"webhooks\": {\n \"pet.new\": {\n \"post\": {\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"id\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"tag\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"name\"\n ]\n }\n }\n },\n \"description\": \"Information about a new pet in the system\"\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Return a 200 status to indicate that the data was received successfully\"\n }\n }\n }\n }\n }\n },\n \"specRaw\": \"sample string\"\n }'" } ] } }, "/api/v1/event-type/{event_type_name}": { "get": { "tags": [ "Event Type" ], "summary": "Get Event Type", "description": "Get an event type.", "operationId": "v1.event-type.get", "parameters": [ { "in": "path", "name": "event_type_name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.get(\"user.signup\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.get(\"user.signup\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.get(\n \"user.signup\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.get(\n \"user.signup\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.Get(ctx, \"user.signup\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.eventType.get(\"user.signup\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType().get(\"user.signup\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.event_type.get(\"user.signup\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.event_type().get(\"user.signup\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.Get(\"user.signup\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->get(\n \"user.signup\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type get \"user.signup\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/event-type/user.signup' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Event Type" ], "summary": "Update Event Type", "description": "Update an event type.", "operationId": "v1.event-type.update", "parameters": [ { "in": "path", "name": "event_type_name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.update(\"user.signup\", {\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {\n \"1\": {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.update(\"user.signup\", {\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {\n \"1\": {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.update(\n \"user.signup\",\n EventTypeUpdate(\n archived=True,\n deprecated=True,\n description=\"A user has signed up\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n schemas={\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n }\n },\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.update(\n \"user.signup\",\n EventTypeUpdate(\n archived=True,\n deprecated=True,\n description=\"A user has signed up\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n schemas={\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n }\n },\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.Update(\n\tctx,\n\t\"user.signup\",\n\tEventTypeUpdate{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: \"A user has signed up\",\n\t\tFeatureFlags: []string{\"cool-new-feature\"},\n\t\tGroupName: new(\"user\"),\n\t\tSchemas: nil,\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.eventType.update(\n \"user.signup\",\n EventTypeUpdate(\n archived = true,\n deprecated = true,\n description = \"A user has signed up\",\n featureFlags = setOf(\"cool-new-feature\"),\n groupName = \"user\",\n schemas = mapOf(),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType()\n .update(\n \"user.signup\",\n new EventTypeUpdate()\n .archived(true)\n .deprecated(true)\n .description(\"A user has signed up\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .groupName(\"user\")\n .schemas(Map.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .event_type\n .update(\n \"user.signup\",\n {\n archived: true,\n deprecated: true,\n description: \"A user has signed up\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {}\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .event_type()\n .update(\n \"user.signup\".to_string(),\n EventTypeUpdate {\n archived: Some(true),\n deprecated: Some(true),\n description: \"A user has signed up\".to_string(),\n feature_flags: Some(vec![\"cool-new-feature\".to_string()]),\n group_name: Some(\"user\".to_string()),\n schemas: Some(\n serde_json::json!(\n { \"1\" : { \"description\" : \"An invoice was paid by a user\",\n \"properties\" : { \"invoiceId\" : { \"description\" :\n \"The invoice id\", \"type\" : \"string\" }, \"userId\" : { \"description\"\n : \"The user id\", \"type\" : \"string\" } }, \"required\" :\n [\"invoiceId\", \"userId\"], \"title\" : \"Invoice Paid Event\", \"type\" :\n \"object\" } }\n ),\n ),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.Update(\n \"user.signup\",\n new EventTypeUpdate\n {\n Archived = true,\n Deprecated = true,\n Description = \"A user has signed up\",\n FeatureFlags = [\"cool-new-feature\"],\n GroupName = \"user\",\n Schemas = new Dictionary { },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->update(\n \"user.signup\",\n EventTypeUpdate::create(\n description: \"A user has signed up\"\n )\n ->withArchived(true)\n ->withDeprecated(true)\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withGroupName(\"user\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type update \"user.signup\" '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"A user has signed up\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"schemas\": {\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/event-type/user.signup' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"A user has signed up\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"schemas\": {\n \"1\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }\n }'" } ] }, "delete": { "tags": [ "Event Type" ], "summary": "Delete Event Type", "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", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" }, { "in": "query", "name": "expunge", "description": "By default event types are archived when \"deleted\". Passing this to `true` deletes them entirely.", "schema": { "description": "By default event types are archived when \"deleted\". Passing this to `true` deletes them entirely.", "default": false, "type": "boolean" }, "style": "form" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.eventType.delete(\"user.signup\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.eventType.delete(\"user.signup\");" }, { "label": "Python", "lang": "Python", "source": "svix.event_type.delete(\n \"user.signup\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.event_type.delete(\n \"user.signup\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.EventType.Delete(ctx, \"user.signup\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.eventType.delete(\n \"user.signup\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getEventType().delete(\"user.signup\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.event_type.delete(\"user.signup\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.event_type().delete(\"user.signup\".to_string(), None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.Delete(\"user.signup\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->eventType->delete(\n \"user.signup\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type delete \"user.signup\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/event-type/user.signup' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Event Type" ], "summary": "Patch Event Type", "description": "Partially update an event type.", "operationId": "v1.event-type.patch", "parameters": [ { "in": "path", "name": "event_type_name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypePatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.eventType.patch(\"user.signup\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.eventType.patch(\"user.signup\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {\n description: \"An invoice was paid by a user\",\n properties: {\n invoiceId: { description: \"The invoice id\", type: \"string\" },\n userId: { description: \"The user id\", type: \"string\" },\n },\n required: [\"invoiceId\", \"userId\"],\n title: \"Invoice Paid Event\",\n type: \"object\",\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.event_type.patch(\n \"user.signup\",\n EventTypePatch(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n schemas={\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n },\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.event_type.patch(\n \"user.signup\",\n EventTypePatch(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n group_name=\"user\",\n schemas={\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"},\n \"userId\": {\"description\": \"The user id\", \"type\": \"string\"},\n },\n \"required\": [\"invoiceId\", \"userId\"],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\",\n },\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.EventType.Patch(\n\tctx,\n\t\"user.signup\",\n\tEventTypePatch{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: new(\"sample string\"),\n\t\tFeatureFlags: NewNullable([]string{\"cool-new-feature\"}),\n\t\tGroupName: NewNullable(\"user\"),\n\t\tSchemas: NewUnsetNullable[map[string]any](),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.eventType.patch(\n \"user.signup\",\n EventTypePatch(\n archived = true,\n deprecated = true,\n description = \"sample string\",\n featureFlags = MaybeUnset.Present(setOf(\"cool-new-feature\")),\n groupName = MaybeUnset.Present(\"user\"),\n schemas = MaybeUnset.Present(mapOf()),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getEventType()\n .patch(\n \"user.signup\",\n new EventTypePatch()\n .archived(true)\n .deprecated(true)\n .description(\"sample string\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .groupName(\"user\")\n .schemas(Map.of()));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .event_type\n .patch(\n \"user.signup\",\n {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n groupName: \"user\",\n schemas: {}\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .event_type()\n .patch(\n \"user.signup\".to_string(),\n EventTypePatch {\n archived: Some(true),\n deprecated: Some(true),\n description: Some(\"sample string\".to_string()),\n feature_flags: js_option::JsOption::Some(\n vec![\"cool-new-feature\".to_string()],\n ),\n group_name: js_option::JsOption::Some(\"user\".to_string()),\n schemas: js_option::JsOption::Some(\n serde_json::json!(\n { \"description\" : \"An invoice was paid by a user\", \"properties\" :\n { \"invoiceId\" : { \"description\" : \"The invoice id\", \"type\" :\n \"string\" }, \"userId\" : { \"description\" : \"The user id\", \"type\" :\n \"string\" } }, \"required\" : [\"invoiceId\", \"userId\"], \"title\" :\n \"Invoice Paid Event\", \"type\" : \"object\" }\n ),\n ),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.EventType.Patch(\n \"user.signup\",\n new EventTypePatch\n {\n Archived = true,\n Deprecated = true,\n Description = \"sample string\",\n FeatureFlags = MaybeUnset?>.Set([\"cool-new-feature\"]),\n GroupName = \"user\",\n Schemas = new Dictionary { },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->eventType->patch(\n \"user.signup\",\n EventTypePatch::create()\n ->withArchived(true)\n ->withDeprecated(true)\n ->withDescription(\"sample string\")\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withGroupName(\"user\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix event-type patch \"user.signup\" '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"schemas\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/event-type/user.signup' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"groupName\": \"user\",\n \"schemas\": {\n \"description\": \"An invoice was paid by a user\",\n \"properties\": {\n \"invoiceId\": {\n \"description\": \"The invoice id\",\n \"type\": \"string\"\n },\n \"userId\": {\n \"description\": \"The user id\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"invoiceId\",\n \"userId\"\n ],\n \"title\": \"Invoice Paid Event\",\n \"type\": \"object\"\n }\n }'" } ] } }, "/api/v1/health": { "get": { "tags": [ "Health" ], "summary": "Health", "description": "Verify the API server is up and running.", "operationId": "v1.health.get", "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } } } }, "/api/v1/operational-webhook/endpoint": { "get": { "tags": [ "Webhook Endpoint" ], "summary": "List Operational Webhook Endpoints", "description": "List operational webhook endpoints.", "operationId": "v1.operational-webhook.endpoint.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "nullable": true, "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_OperationalWebhookEndpointOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.operationalWebhook.endpoint.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getOperationalWebhook().getEndpoint().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.operational_webhook.endpoint.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.operational_webhook().endpoint().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Webhook Endpoint" ], "summary": "Create Operational Webhook Endpoint", "description": "Create an operational webhook endpoint.", "operationId": "v1.operational-webhook.endpoint.create", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.create({\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.create({\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.create(\n OperationalWebhookEndpointIn(\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"message.attempt.failing\",\n ],\n metadata={},\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.create(\n OperationalWebhookEndpointIn(\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"message.attempt.failing\",\n ],\n metadata={},\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.Create(\n\tctx,\n\tOperationalWebhookEndpointIn{\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tFilterTypes: []string{\"message.attempt.failing\"},\n\t\tMetadata: nil,\n\t\tSecret: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.operationalWebhook.endpoint.create(\n OperationalWebhookEndpointIn(\n description = \"An example endpoint name\",\n disabled = true,\n filterTypes = setOf(\"message.attempt.failing\"),\n metadata = mapOf(),\n secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate = 1u,\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getOperationalWebhook()\n .getEndpoint()\n .create(new OperationalWebhookEndpointIn()\n .description(\"An example endpoint name\")\n .disabled(true)\n .filterTypes(Set.of(\"message.attempt.failing\"))\n .metadata(Map.of())\n .secret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n .throttleRate(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .operational_webhook\n .endpoint\n .create(\n {\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .operational_webhook()\n .endpoint()\n .create(\n OperationalWebhookEndpointIn {\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n filter_types: Some(vec![\"message.attempt.failing\".to_string()]),\n metadata: Some(HashMap::new()),\n secret: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.Create(\n new OperationalWebhookEndpointIn\n {\n Description = \"An example endpoint name\",\n Disabled = true,\n FilterTypes = [\"message.attempt.failing\"],\n Metadata = [],\n Secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->create(\n OperationalWebhookEndpointIn::create(\n url: \"https://example.com/webhook/\"\n )\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withFilterTypes([\"message.attempt.failing\"])\n ->withMetadata([])\n ->withSecret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint create '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"message.attempt.failing\"\n ],\n \"metadata\": {},\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"message.attempt.failing\"\n ],\n \"metadata\": {},\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] } }, "/api/v1/operational-webhook/endpoint/{endpoint_id}": { "get": { "tags": [ "Webhook Endpoint" ], "summary": "Get Operational Webhook Endpoint", "description": "Get an operational webhook endpoint.", "operationId": "v1.operational-webhook.endpoint.get", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.get(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.get(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.get(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.get(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.Get(ctx, \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.operationalWebhook.endpoint.get(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getOperationalWebhook().getEndpoint().get(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.operational_webhook.endpoint.get(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .operational_webhook()\n .endpoint()\n .get(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.Get(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->get(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint get \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Webhook Endpoint" ], "summary": "Update Operational Webhook Endpoint", "description": "Update an operational webhook endpoint.", "operationId": "v1.operational-webhook.endpoint.update", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointUpdate(\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"message.attempt.failing\",\n ],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointUpdate(\n description=\"An example endpoint name\",\n disabled=True,\n filter_types=[\n \"message.attempt.failing\",\n ],\n metadata={},\n throttle_rate=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.Update(\n\tctx,\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tOperationalWebhookEndpointUpdate{\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tFilterTypes: []string{\"message.attempt.failing\"},\n\t\tMetadata: nil,\n\t\tThrottleRate: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.operationalWebhook.endpoint.update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointUpdate(\n description = \"An example endpoint name\",\n disabled = true,\n filterTypes = setOf(\"message.attempt.failing\"),\n metadata = mapOf(),\n throttleRate = 1u,\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getOperationalWebhook()\n .getEndpoint()\n .update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointUpdate()\n .description(\"An example endpoint name\")\n .disabled(true)\n .filterTypes(Set.of(\"message.attempt.failing\"))\n .metadata(Map.of())\n .throttleRate(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .operational_webhook\n .endpoint\n .update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n filterTypes: [\"message.attempt.failing\"],\n metadata: {},\n throttleRate: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .operational_webhook()\n .endpoint()\n .update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n OperationalWebhookEndpointUpdate {\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n filter_types: Some(vec![\"message.attempt.failing\".to_string()]),\n metadata: Some(HashMap::new()),\n throttle_rate: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.Update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointUpdate\n {\n Description = \"An example endpoint name\",\n Disabled = true,\n FilterTypes = [\"message.attempt.failing\"],\n Metadata = [],\n ThrottleRate = 1,\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->update(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointUpdate::create(\n url: \"https://example.com/webhook/\"\n )\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withFilterTypes([\"message.attempt.failing\"])\n ->withMetadata([])\n ->withThrottleRate(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint update \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"message.attempt.failing\"\n ],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"filterTypes\": [\n \"message.attempt.failing\"\n ],\n \"metadata\": {},\n \"throttleRate\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] }, "delete": { "tags": [ "Webhook Endpoint" ], "summary": "Delete Operational Webhook Endpoint", "description": "Delete an operational webhook endpoint.", "operationId": "v1.operational-webhook.endpoint.delete", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Python", "lang": "Python", "source": "svix.operational_webhook.endpoint.delete(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.operational_webhook.endpoint.delete(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.OperationalWebhook.Endpoint.Delete(ctx, \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.operationalWebhook.endpoint.delete(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getOperationalWebhook().getEndpoint().delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.operational_webhook.endpoint.delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.operational_webhook()\n .endpoint()\n .delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.Delete(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->operationalWebhook->endpoint->delete(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint delete \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/api/v1/operational-webhook/endpoint/{endpoint_id}/headers": { "get": { "tags": [ "Webhook Endpoint" ], "summary": "Get Operational Webhook Endpoint Headers", "description": "Get the additional headers to be sent with the operational webhook.", "operationId": "v1.operational-webhook.endpoint.get-headers", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointHeadersOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.getHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.getHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.get_headers(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.get_headers(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.GetHeaders(\n\tctx,\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.operationalWebhook.endpoint.getHeaders(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response =\n svix.getOperationalWebhook().getEndpoint().getHeaders(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.operational_webhook.endpoint.get_headers(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .operational_webhook()\n .endpoint()\n .get_headers(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.GetHeaders(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->getHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint get-headers \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Webhook Endpoint" ], "summary": "Update Operational Webhook Endpoint Headers", "description": "Set the additional headers to be sent with the operational webhook.", "operationId": "v1.operational-webhook.endpoint.update-headers", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointHeadersIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.updateHeaders(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.updateHeaders(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n});" }, { "label": "Python", "lang": "Python", "source": "svix.operational_webhook.endpoint.update_headers(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.operational_webhook.endpoint.update_headers(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.OperationalWebhook.Endpoint.UpdateHeaders(\n\tctx,\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tOperationalWebhookEndpointHeadersIn{\n\t\tHeaders: map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.operationalWebhook.endpoint.updateHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointHeadersIn(headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\")),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getOperationalWebhook()\n .getEndpoint()\n .updateHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointHeadersIn()\n .headers(\n Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .operational_webhook\n .endpoint\n .update_headers(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"}})" }, { "label": "Rust", "lang": "Rust", "source": "svix.operational_webhook()\n .endpoint()\n .update_headers(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n OperationalWebhookEndpointHeadersIn {\n headers: HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.UpdateHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointHeadersIn\n {\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->operationalWebhook->endpoint->updateHeaders(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointHeadersIn::create(\n headers: [\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"]\n )\n\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint update-headers \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" } ] } }, "/api/v1/operational-webhook/endpoint/{endpoint_id}/secret": { "get": { "tags": [ "Webhook Endpoint" ], "summary": "Get Operational Webhook Endpoint Secret", "description": "Get an operational webhook 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.operational-webhook.endpoint.get-secret", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointSecretOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.getSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.operationalWebhook.endpoint.getSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.operational_webhook.endpoint.get_secret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.operational_webhook.endpoint.get_secret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.OperationalWebhook.Endpoint.GetSecret(\n\tctx,\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.operationalWebhook.endpoint.getSecret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response =\n svix.getOperationalWebhook().getEndpoint().getSecret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.operational_webhook.endpoint.get_secret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .operational_webhook()\n .endpoint()\n .get_secret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.GetSecret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->operationalWebhook->endpoint->getSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint get-secret \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate": { "post": { "tags": [ "Webhook Endpoint" ], "summary": "Rotate Operational Webhook Endpoint Secret", "description": "Rotates an operational webhook endpoint's signing secret.\n\nThe previous secret will remain valid for the next 24 hours.", "operationId": "v1.operational-webhook.endpoint.rotate-secret", "parameters": [ { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OperationalWebhookEndpointSecretIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.rotateSecret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.operationalWebhook.endpoint.rotateSecret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n});" }, { "label": "Python", "lang": "Python", "source": "svix.operational_webhook.endpoint.rotate_secret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointSecretIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.operational_webhook.endpoint.rotate_secret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointSecretIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.OperationalWebhook.Endpoint.RotateSecret(\n\tctx,\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tOperationalWebhookEndpointSecretIn{Key: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.operationalWebhook.endpoint.rotateSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointSecretIn(key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getOperationalWebhook()\n .getEndpoint()\n .rotateSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointSecretIn().key(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .operational_webhook\n .endpoint\n .rotate_secret(\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\", {key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"})" }, { "label": "Rust", "lang": "Rust", "source": "svix.operational_webhook()\n .endpoint()\n .rotate_secret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n OperationalWebhookEndpointSecretIn {\n key: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.OperationalWebhook.Endpoint.RotateSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new OperationalWebhookEndpointSecretIn { Key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->operationalWebhook->endpoint->rotateSecret(\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n OperationalWebhookEndpointSecretIn::create()\n ->withKey(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix operational-webhook endpoint rotate-secret \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/operational-webhook/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" } ] } }, "/api/v1/stats/usage/app": { "post": { "tags": [ "Statistics" ], "summary": "Aggregate App Stats", "description": "Creates a background task to calculate the number of message attempts (`messageDestinations`) made for all applications in the environment.\n\nNote that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\nretrieve the results of the operation.\n\nThe completed background task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n \"status\": \"finished\",\n \"task\": \"application.stats\",\n \"data\": {\n \"appStats\": [\n {\n \"messageDestinations\": 2,\n \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n \"appUid\": null\n }\n ]\n }\n}\n```", "operationId": "v1.statistics.aggregate-app-stats", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppUsageStatsIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppUsageStatsOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.statistics.aggregateAppStats({\n appIds: [],\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.statistics.aggregateAppStats({\n appIds: [],\n since: new Date(\"2025-10-02T20:28:42+00:00\"),\n until: new Date(\"2025-10-02T20:28:42+00:00\"),\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.statistics.aggregate_app_stats(\n AppUsageStatsIn(\n app_ids=[],\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.statistics.aggregate_app_stats(\n AppUsageStatsIn(\n app_ids=[],\n since=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n until=datetime.fromisoformat(\"2025-10-02T20:28:42+00:00\"),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Statistics.AggregateAppStats(\n\tctx,\n\tAppUsageStatsIn{\n\t\tAppIds: []string{},\n\t\tSince: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC),\n\t\tUntil: time.Date(2025, 10, 2, 20, 28, 42, 0, time.UTC),\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.statistics.aggregateAppStats(\n AppUsageStatsIn(\n appIds = setOf(),\n since = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n until = Instant.parse(\"2025-10-02T20:28:42+00:00\"),\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStatistics()\n .aggregateAppStats(new AppUsageStatsIn()\n .appIds(Set.of())\n .since(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\"))\n .until(OffsetDateTime.parse(\"2025-10-02T20:28:42+00:00\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .statistics\n .aggregate_app_stats({appIds: [], since: \"2025-10-02T20:28:42+00:00\", until: \"2025-10-02T20:28:42+00:00\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .statistics()\n .aggregate_app_stats(\n AppUsageStatsIn {\n app_ids: Some(vec![]),\n since: \"2025-10-02T20:28:42+00:00\".to_string(),\n until: \"2025-10-02T20:28:42+00:00\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Statistics.AggregateAppStats(\n new AppUsageStatsIn\n {\n AppIds = [],\n Since = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n Until = DateTime.Parse(\"2025-10-02T20:28:42+00:00\"),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->statistics->aggregateAppStats(\n AppUsageStatsIn::create(\n since: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\"),\n until: new DateTimeImmutable(\"2025-10-02T20:28:42+00:00\")\n )\n ->withAppIds([])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix statistics aggregate-app-stats '{\n \"appIds\": [],\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/stats/usage/app' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"appIds\": [],\n \"since\": \"2025-10-02T20:28:42+00:00\",\n \"until\": \"2025-10-02T20:28:42+00:00\"\n }'" } ] } }, "/api/v1/stats/usage/event-types": { "put": { "tags": [ "Statistics" ], "summary": "Aggregate Event Types", "description": "Creates a background task to calculate the listed event types for all apps in the organization.\n\nNote that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\nretrieve the results of the operation.\n\nThe completed background task will return a payload like the following:\n```json\n{\n \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n \"status\": \"finished\",\n \"task\": \"event-type.aggregate\",\n \"data\": {\n \"event_types\": [\n {\n \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n \"explicitlySubscribedEventTypes\": [\"user.signup\", \"user.deleted\"],\n \"hasCatchAllEndpoint\": false\n }\n ]\n }\n}\n```", "operationId": "v1.statistics.aggregate-event-types", "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AggregateEventTypesOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.statistics.aggregateEventTypes();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.statistics.aggregateEventTypes();" }, { "label": "Python", "lang": "Python", "source": "response = svix.statistics.aggregate_event_types()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.statistics.aggregate_event_types()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Statistics.AggregateEventTypes(ctx)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.statistics.aggregateEventTypes()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStatistics().aggregateEventTypes();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.statistics.aggregate_event_types" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.statistics().aggregate_event_types().await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Statistics.AggregateEventTypes();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->statistics->aggregateEventTypes();" }, { "label": "CLI", "lang": "Shell", "source": "svix statistics aggregate-event-types" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/stats/usage/event-types' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/stream": { "get": { "tags": [ "Stream" ], "summary": "List Streams", "description": "List of all the organization's streams.", "operationId": "v1.streaming.stream.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^strm_[A-Za-z0-9]{21,22}$", "nullable": true, "example": "strm_2yZwUhtgs5Ai8T9yRQJXA" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_StreamOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.stream.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.stream.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Stream.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.stream.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming().getStream().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.stream.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.streaming().stream().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->stream->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Stream" ], "summary": "Create Stream", "description": "Creates a new stream.", "operationId": "v1.streaming.stream.create", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.create({\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.create({\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.stream.create(\n StreamIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.stream.create(\n StreamIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Stream.Create(\n\tctx,\n\tStreamIn{Metadata: nil, Name: \"sample string\", Uid: new(\"unique-identifier\")},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.stream.create(\n StreamIn(metadata = mapOf(), name = \"sample string\", uid = \"unique-identifier\")\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getStream()\n .create(new StreamIn().metadata(Map.of()).name(\"sample string\").uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.stream.create({metadata: {}, name: \"sample string\", uid: \"unique-identifier\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .stream()\n .create(\n StreamIn {\n metadata: Some(HashMap::new()),\n name: \"sample string\".to_string(),\n uid: Some(\"unique-identifier\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.Create(\n new StreamIn\n {\n Metadata = [],\n Name = \"sample string\",\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->stream->create(\n StreamIn::create(\n name: \"sample string\"\n )\n ->withMetadata([])\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream create '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/stream' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/stream/event-type": { "get": { "tags": [ "Stream Event Type" ], "summary": "List Stream Event Types", "description": "List of all the organization's event types for streaming.", "operationId": "v1.streaming.event-type.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true, "example": "user.signup" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" }, { "in": "query", "name": "include_archived", "description": "Include archived (deleted but not expunged) items in the response.", "schema": { "description": "Include archived (deleted but not expunged) items in the response.", "default": false, "type": "boolean" }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_StreamEventTypeOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.event_type.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.event_type.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.EventType.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.eventType.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming().getEventType().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.event_type.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.streaming().event_type().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->eventType->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Stream Event Type" ], "summary": "Create Stream Event Type", "description": "Create an event type for Streams.", "operationId": "v1.streaming.event-type.create", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.create({\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.create({\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.event_type.create(\n StreamEventTypeIn(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.event_type.create(\n StreamEventTypeIn(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.EventType.Create(\n\tctx,\n\tStreamEventTypeIn{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: new(\"sample string\"),\n\t\tFeatureFlags: []string{\"cool-new-feature\"},\n\t\tName: \"user.signup\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.eventType.create(\n StreamEventTypeIn(\n archived = true,\n deprecated = true,\n description = \"sample string\",\n featureFlags = setOf(\"cool-new-feature\"),\n name = \"user.signup\",\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getEventType()\n .create(new StreamEventTypeIn()\n .archived(true)\n .deprecated(true)\n .description(\"sample string\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .name(\"user.signup\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .event_type\n .create(\n {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .event_type()\n .create(\n StreamEventTypeIn {\n archived: Some(true),\n deprecated: Some(true),\n description: Some(\"sample string\".to_string()),\n feature_flags: Some(vec![\"cool-new-feature\".to_string()]),\n name: \"user.signup\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.Create(\n new StreamEventTypeIn\n {\n Archived = true,\n Deprecated = true,\n Description = \"sample string\",\n FeatureFlags = [\"cool-new-feature\"],\n Name = \"user.signup\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->eventType->create(\n StreamEventTypeIn::create(\n name: \"user.signup\"\n )\n ->withArchived(true)\n ->withDeprecated(true)\n ->withDescription(\"sample string\")\n ->withFeatureFlags([\"cool-new-feature\"])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type create '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" } ] } }, "/api/v1/stream/event-type/{name}": { "get": { "tags": [ "Stream Event Type" ], "summary": "Get Stream Event Type", "description": "Get an event type.", "operationId": "v1.streaming.event-type.get", "parameters": [ { "in": "path", "name": "name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.get(\"name\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.get(\"name\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.event_type.get(\n \"name\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.event_type.get(\n \"name\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.EventType.Get(ctx, \"name\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.eventType.get(\"name\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming().getEventType().get(\"name\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.event_type.get(\"name\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.streaming().event_type().get(\"name\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.Get(\"name\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->eventType->get(\n \"name\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type get \"name\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type/name' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Stream Event Type" ], "summary": "Update Stream Event Type", "description": "Update or create a event type for Streams.", "operationId": "v1.streaming.event-type.update", "parameters": [ { "in": "path", "name": "name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.update(\"name\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.update(\"name\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.event_type.update(\n \"name\",\n StreamEventTypeIn(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.event_type.update(\n \"name\",\n StreamEventTypeIn(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.EventType.Update(\n\tctx,\n\t\"name\",\n\tStreamEventTypeIn{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: new(\"sample string\"),\n\t\tFeatureFlags: []string{\"cool-new-feature\"},\n\t\tName: \"user.signup\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.eventType.update(\n \"name\",\n StreamEventTypeIn(\n archived = true,\n deprecated = true,\n description = \"sample string\",\n featureFlags = setOf(\"cool-new-feature\"),\n name = \"user.signup\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getEventType()\n .update(\n \"name\",\n new StreamEventTypeIn()\n .archived(true)\n .deprecated(true)\n .description(\"sample string\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .name(\"user.signup\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .event_type\n .update(\n \"name\",\n {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .event_type()\n .update(\n \"name\".to_string(),\n StreamEventTypeIn {\n archived: Some(true),\n deprecated: Some(true),\n description: Some(\"sample string\".to_string()),\n feature_flags: Some(vec![\"cool-new-feature\".to_string()]),\n name: \"user.signup\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.Update(\n \"name\",\n new StreamEventTypeIn\n {\n Archived = true,\n Deprecated = true,\n Description = \"sample string\",\n FeatureFlags = [\"cool-new-feature\"],\n Name = \"user.signup\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->eventType->update(\n \"name\",\n StreamEventTypeIn::create(\n name: \"user.signup\"\n )\n ->withArchived(true)\n ->withDeprecated(true)\n ->withDescription(\"sample string\")\n ->withFeatureFlags([\"cool-new-feature\"])\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type update \"name\" '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type/name' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" } ] }, "delete": { "tags": [ "Stream Event Type" ], "summary": "Delete Stream Event Type", "description": "Delete an event type.", "operationId": "v1.streaming.event-type.delete", "parameters": [ { "in": "path", "name": "name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" }, { "in": "query", "name": "expunge", "description": "By default, event types are archived when \"deleted\". With this flag, they are deleted entirely.", "schema": { "description": "By default, event types are archived when \"deleted\". With this flag, they are deleted entirely.", "default": false, "type": "boolean" }, "style": "form" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.streaming.eventType.delete(\"name\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.streaming.eventType.delete(\"name\");" }, { "label": "Python", "lang": "Python", "source": "svix.streaming.event_type.delete(\n \"name\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.streaming.event_type.delete(\n \"name\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Streaming.EventType.Delete(ctx, \"name\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.streaming.eventType.delete(\n \"name\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getStreaming().getEventType().delete(\"name\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.event_type.delete(\"name\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.streaming().event_type().delete(\"name\".to_string(), None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.Delete(\"name\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->streaming->eventType->delete(\n \"name\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type delete \"name\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type/name' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Stream Event Type" ], "summary": "Patch Stream Event Type", "description": "Patch an event type for Streams.", "operationId": "v1.streaming.event-type.patch", "parameters": [ { "in": "path", "name": "name", "description": "The event type's name", "required": true, "schema": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypePatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamEventTypeOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.patch(\"name\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.eventType.patch(\"name\", {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.event_type.patch(\n \"name\",\n StreamEventTypePatch(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.event_type.patch(\n \"name\",\n StreamEventTypePatch(\n archived=True,\n deprecated=True,\n description=\"sample string\",\n feature_flags=[\n \"cool-new-feature\",\n ],\n name=\"user.signup\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.EventType.Patch(\n\tctx,\n\t\"name\",\n\tStreamEventTypePatch{\n\t\tArchived: new(true),\n\t\tDeprecated: new(true),\n\t\tDescription: NewNullable(\"sample string\"),\n\t\tFeatureFlags: NewNullable([]string{\"cool-new-feature\"}),\n\t\tName: NewNullable(\"user.signup\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.eventType.patch(\n \"name\",\n StreamEventTypePatch(\n archived = true,\n deprecated = true,\n description = MaybeUnset.Present(\"sample string\"),\n featureFlags = MaybeUnset.Present(setOf(\"cool-new-feature\")),\n name = MaybeUnset.Present(\"user.signup\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getEventType()\n .patch(\n \"name\",\n new StreamEventTypePatch()\n .archived(true)\n .deprecated(true)\n .description(\"sample string\")\n .featureFlags(Set.of(\"cool-new-feature\"))\n .name(\"user.signup\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .event_type\n .patch(\n \"name\",\n {\n archived: true,\n deprecated: true,\n description: \"sample string\",\n featureFlags: [\"cool-new-feature\"],\n name: \"user.signup\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .event_type()\n .patch(\n \"name\".to_string(),\n StreamEventTypePatch {\n archived: Some(true),\n deprecated: Some(true),\n description: js_option::JsOption::Some(\"sample string\".to_string()),\n feature_flags: js_option::JsOption::Some(\n vec![\"cool-new-feature\".to_string()],\n ),\n name: js_option::JsOption::Some(\"user.signup\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.EventType.Patch(\n \"name\",\n new StreamEventTypePatch\n {\n Archived = true,\n Deprecated = true,\n Description = \"sample string\",\n FeatureFlags = MaybeUnset?>.Set([\"cool-new-feature\"]),\n Name = \"user.signup\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->eventType->patch(\n \"name\",\n StreamEventTypePatch::create()\n ->withArchived(true)\n ->withDeprecated(true)\n ->withDescription(\"sample string\")\n ->withFeatureFlags([\"cool-new-feature\"])\n ->withName(\"user.signup\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming event-type patch \"name\" '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/stream/event-type/name' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"archived\": true,\n \"deprecated\": true,\n \"description\": \"sample string\",\n \"featureFlags\": [\n \"cool-new-feature\"\n ],\n \"name\": \"user.signup\"\n }'" } ] } }, "/api/v1/stream/{stream_id}": { "get": { "tags": [ "Stream" ], "summary": "Get Stream", "description": "Get a stream by id or uid.", "operationId": "v1.streaming.stream.get", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.get(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.get(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.stream.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.stream.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Stream.Get(ctx, \"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.stream.get(\"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming().getStream().get(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.stream.get(\"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .stream()\n .get(\"strm_31Dc0DD72P5AddYUguyBd\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.Get(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->stream->get(\n \"strm_31Dc0DD72P5AddYUguyBd\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream get \"strm_31Dc0DD72P5AddYUguyBd\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Stream" ], "summary": "Update Stream", "description": "Update a stream.", "operationId": "v1.streaming.stream.update", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.update(\"strm_31Dc0DD72P5AddYUguyBd\", {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.update(\"strm_31Dc0DD72P5AddYUguyBd\", {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.stream.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.stream.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Stream.Update(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\tStreamIn{Metadata: nil, Name: \"sample string\", Uid: new(\"unique-identifier\")},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.stream.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamIn(metadata = mapOf(), name = \"sample string\", uid = \"unique-identifier\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getStream()\n .update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamIn().metadata(Map.of()).name(\"sample string\").uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .stream\n .update(\"strm_31Dc0DD72P5AddYUguyBd\", {metadata: {}, name: \"sample string\", uid: \"unique-identifier\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .stream()\n .update(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n StreamIn {\n metadata: Some(HashMap::new()),\n name: \"sample string\".to_string(),\n uid: Some(\"unique-identifier\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.Update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamIn\n {\n Metadata = [],\n Name = \"sample string\",\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->stream->update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamIn::create(\n name: \"sample string\"\n )\n ->withMetadata([])\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream update \"strm_31Dc0DD72P5AddYUguyBd\" '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"metadata\": {},\n \"name\": \"sample string\",\n \"uid\": \"unique-identifier\"\n }'" } ] }, "delete": { "tags": [ "Stream" ], "summary": "Delete Stream", "description": "Delete a stream.", "operationId": "v1.streaming.stream.delete", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.streaming.stream.delete(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.streaming.stream.delete(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Python", "lang": "Python", "source": "svix.streaming.stream.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.streaming.stream.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Streaming.Stream.Delete(ctx, \"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.streaming.stream.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getStreaming().getStream().delete(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.stream.delete(\"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.streaming().stream().delete(\"strm_31Dc0DD72P5AddYUguyBd\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.Delete(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->streaming->stream->delete(\n \"strm_31Dc0DD72P5AddYUguyBd\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream delete \"strm_31Dc0DD72P5AddYUguyBd\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Stream" ], "summary": "Patch Stream", "description": "Partially update a stream.", "operationId": "v1.streaming.stream.patch", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamPatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.patch(\"strm_31Dc0DD72P5AddYUguyBd\", {\n description: \"sample string\",\n metadata: {},\n uid: \"unique-identifier\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.stream.patch(\"strm_31Dc0DD72P5AddYUguyBd\", {\n description: \"sample string\",\n metadata: {},\n uid: \"unique-identifier\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.stream.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPatch(\n description=\"sample string\",\n metadata={},\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.stream.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPatch(\n description=\"sample string\",\n metadata={},\n uid=\"unique-identifier\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Stream.Patch(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\tStreamPatch{\n\t\tDescription: new(\"sample string\"),\n\t\tMetadata: nil,\n\t\tUid: NewNullable(\"unique-identifier\"),\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.stream.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPatch(\n description = \"sample string\",\n metadata = mapOf(),\n uid = MaybeUnset.Present(\"unique-identifier\"),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getStream()\n .patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamPatch()\n .description(\"sample string\")\n .metadata(Map.of())\n .uid(\"unique-identifier\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .stream\n .patch(\"strm_31Dc0DD72P5AddYUguyBd\", {description: \"sample string\", metadata: {}, uid: \"unique-identifier\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .stream()\n .patch(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n StreamPatch {\n description: Some(\"sample string\".to_string()),\n metadata: Some(HashMap::new()),\n uid: js_option::JsOption::Some(\"unique-identifier\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Stream.Patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamPatch\n {\n Description = \"sample string\",\n Metadata = [],\n Uid = \"unique-identifier\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->stream->patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamPatch::create()\n ->withDescription(\"sample string\")\n ->withMetadata([])\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming stream patch \"strm_31Dc0DD72P5AddYUguyBd\" '{\n \"description\": \"sample string\",\n \"metadata\": {},\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"description\": \"sample string\",\n \"metadata\": {},\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/stream/{stream_id}/events": { "post": { "tags": [ "Event" ], "summary": "Create Events", "description": "Creates events on the Stream.", "operationId": "v1.streaming.events.create", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStreamEventsIn" } } }, "required": true }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStreamEventsOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.streaming.events.create(\"rock_inc_uid\", {\n events: [\n {\n \"eventType\": \"user.signup\",\n \"payload\": '{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n }\n ]\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.streaming.events.create(\"rock_inc_uid\", {\n events: [\n {\n \"eventType\": \"user.signup\",\n \"payload\": '{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n }\n ]\n});" }, { "label": "Python", "lang": "Python", "source": "svix.streaming.events.create(\"rock_inc_uid\", CreateStreamEventsIn(\n events=[\n EventIn(\n eventType=\"user.signup\",\n payload='{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n )\n ]\n))" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.streaming.events.create(\"rock_inc_uid\", CreateStreamEventsIn(\n events=[\n EventIn(\n eventType=\"user.signup\",\n payload='{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n )\n ]\n))" }, { "label": "Go", "lang": "Go", "source": "svixClient.Streaming.Events.Create(\n ctx,\n \"rock_inc_uid\",\n &svix.CreateStreamEventsIn{\n Events: []svix.EventIn{\n {\n EventType: \"user.signup\",\n Payload: \\`{\"email\":\"test@example.com\",\"username\":\"test_user\"}\\`,\n }\n },\n })" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.streaming.events.create(\"rock_inc_uid\", CreateStreamEventsIn()\n .events(arrayOf(\n EventIn(\n eventType = \"user.signup\",\n payload = \\`{\"email\":\"test@example.com\",\"username\":\"test_user\"}\\`,\n )\n ))\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getStream().getEvents().create(\"rock_inc_uid\", new CreateStreamEventsIn()\n .events(new EventIn[]{\n new EventIn()\n .eventType(\"user.signup\")\n .payload(\"{\\\"email\\\":\\\"test@example.com\\\",\\\"username\\\":\\\"test_user\\\"}\")\n })\n);" }, { "label": "Ruby", "lang": "Ruby", "source": "svix.streaming.events.create(\"rock_inc_uid\", Svix::CreateStreamEventsIn.new({\n \"events\": [\n {\n \"eventType\": \"user.signup\",\n \"payload\": '{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n }\n ]\n}))" }, { "label": "Rust", "lang": "Rust", "source": "svix.streaming().events().create(\"rock_inc_uid\", CreateStreamEventsIn {\n events: vec![\n EventIn {\n event_type: \"user.signup\".into(),\n payload: r#\"{\"email\":\"test@example.com\",\"username\":\"test_user\"}\"#.into()\n }\n ],\n stream: None,\n}, None).await?;" }, { "label": "Php", "lang": "PHP", "source": "$svix->streaming->events->create(\n 'rock_inc_uid',\n CreateStreamEventsIn::create(\n events: [\n [\n 'eventType' => 'user.signup',\n 'payload' => '{\"email\":\"test@example.com\",\"username\":\"test_user\"}'\n ]\n ],\n )\n);" }, { "label": "C#", "lang": "C#", "source": "await svix.Streaming.Events.CreateAsync(\"stream_id\", new CreateStreamEventsIn{\n events: new EventIn[] {\n new EventIn(\n eventType: \"user.signup\",\n payload: \"{\\\\\"email\\\\\":\\\\\"test@example.com\\\\\",\\\\\"username\\\\\":\\\\\"test_user\\\\\"}\"\n )\n }\n});" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\\\n 'https://api.svix.com/api/v1/stream/rock_inc_uid/events' \\\\\n -H 'accept: application/json' \\\\\n -H \"Authorization: Bearer \\${AUTH_TOKEN}\" \\\\\n -H 'Content-Type: application/json' \\\\\n -d '{\n \"events\": [\n {\n \"eventType\":\"user.signup\",\n \"payload\":\"{\\\\\"email\\\":\\\\\"test@example.com\\\\\",\\\\\"username\\\\\":\\\\\"test_user\\\\\"}\"\n }\n ],\n}'" }, { "label": "CLI", "lang": "Shell", "source": "Coming soon to Svix CLI" } ] } }, "/api/v1/stream/{stream_id}/sink": { "get": { "tags": [ "Sink" ], "summary": "List Sinks", "description": "List of all the stream's sinks.", "operationId": "v1.streaming.sink.list", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "nullable": true, "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_StreamSinkOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.list(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.list(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.list(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.list(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.List(ctx, \"strm_31Dc0DD72P5AddYUguyBd\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.sink.list(\"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming().getSink().list(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink.list(\"strm_31Dc0DD72P5AddYUguyBd\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .list(\"strm_31Dc0DD72P5AddYUguyBd\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.List(\"strm_31Dc0DD72P5AddYUguyBd\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->list(\n \"strm_31Dc0DD72P5AddYUguyBd\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink list \"strm_31Dc0DD72P5AddYUguyBd\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Sink" ], "summary": "Create Sink", "description": "Creates a new sink.", "operationId": "v1.streaming.sink.create", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.create(\"strm_31Dc0DD72P5AddYUguyBd\", {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.create(\"strm_31Dc0DD72P5AddYUguyBd\", {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamSinkIn(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStorageConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamSinkIn(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStorageConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.Create(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\tStreamSinkIn{\n\t\tBatchSize: new(uint16(100)),\n\t\tEventTypes: []string{},\n\t\tMaxWaitSecs: new(uint16(1)),\n\t\tMetadata: nil,\n\t\tStatus: new(SINKSTATUSIN_ENABLED),\n\t\tUid: new(\"unique-identifier\"),\n\t\tConfig: (AzureBlobStorageConfig{AccessKey: \"sample string\", Account: \"sample string\", Container: \"sample string\"}),\n\t\tType: \"azureBlobStorage\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamSinkIn(\n batchSize = 100u,\n eventTypes = listOf(),\n maxWaitSecs = 1u,\n metadata = mapOf(),\n status = SinkStatusIn.ENABLED,\n uid = \"unique-identifier\",\n config =\n StreamSinkInConfig.AzureBlobStorage(\n AzureBlobStorageConfig(\n accessKey = \"sample string\",\n account = \"sample string\",\n container = \"sample string\",\n )\n ),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamSinkIn()\n .batchSize(100L)\n .eventTypes(List.of())\n .maxWaitSecs(1L)\n .metadata(Map.of())\n .status(SinkStatusIn.ENABLED)\n .uid(\"unique-identifier\")\n .config(new StreamSinkInConfig.AzureBlobStorage(new AzureBlobStorageConfig()\n .accessKey(\"sample string\")\n .account(\"sample string\")\n .container(\"sample string\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink\n .create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn::ENABLED,\n uid: \"unique-identifier\",\n config: {accessKey: \"sample string\", account: \"sample string\", container: \"sample string\"},\n type: \"azureBlobStorage\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .create(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n StreamSinkIn {\n batch_size: Some(100),\n event_types: Some(vec![]),\n max_wait_secs: Some(1),\n metadata: Some(HashMap::new()),\n status: Some(SinkStatusIn::Enabled),\n uid: Some(\"unique-identifier\".to_string()),\n config: StreamSinkInConfig::AzureBlobStorage(AzureBlobStorageConfig {\n access_key: \"sample string\".to_string(),\n account: \"sample string\".to_string(),\n container: \"sample string\".to_string(),\n }),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.Create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n new StreamSinkIn\n {\n BatchSize = 100,\n EventTypes = [],\n MaxWaitSecs = 1,\n Metadata = [],\n Status = SinkStatusIn.Enabled,\n Uid = \"unique-identifier\",\n Config = StreamSinkInConfig.AzureBlobStorage(\n (\n new AzureBlobStorageConfig\n {\n AccessKey = \"sample string\",\n Account = \"sample string\",\n Container = \"sample string\",\n }\n )\n ),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->create(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n StreamSinkIn::create()\n ->withBatchSize(100)\n ->withEventTypes([])\n ->withMaxWaitSecs(1)\n ->withMetadata([])\n ->withStatus(SinkStatusIn::ENABLED)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink create \"strm_31Dc0DD72P5AddYUguyBd\" '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}": { "get": { "tags": [ "Sink" ], "summary": "Get Sink", "description": "Get a sink by id or uid.", "operationId": "v1.streaming.sink.get", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.Get(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.sink.get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink.get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .get(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.Get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink get \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Sink" ], "summary": "Update Sink", "description": "Update a sink.", "operationId": "v1.streaming.sink.update", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkIn(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStorageConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkIn(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStorageConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.Update(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tStreamSinkIn{\n\t\tBatchSize: new(uint16(100)),\n\t\tEventTypes: []string{},\n\t\tMaxWaitSecs: new(uint16(1)),\n\t\tMetadata: nil,\n\t\tStatus: new(SINKSTATUSIN_ENABLED),\n\t\tUid: new(\"unique-identifier\"),\n\t\tConfig: (AzureBlobStorageConfig{AccessKey: \"sample string\", Account: \"sample string\", Container: \"sample string\"}),\n\t\tType: \"azureBlobStorage\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkIn(\n batchSize = 100u,\n eventTypes = listOf(),\n maxWaitSecs = 1u,\n metadata = mapOf(),\n status = SinkStatusIn.ENABLED,\n uid = \"unique-identifier\",\n config =\n StreamSinkInConfig.AzureBlobStorage(\n AzureBlobStorageConfig(\n accessKey = \"sample string\",\n account = \"sample string\",\n container = \"sample string\",\n )\n ),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new StreamSinkIn()\n .batchSize(100L)\n .eventTypes(List.of())\n .maxWaitSecs(1L)\n .metadata(Map.of())\n .status(SinkStatusIn.ENABLED)\n .uid(\"unique-identifier\")\n .config(new StreamSinkInConfig.AzureBlobStorage(new AzureBlobStorageConfig()\n .accessKey(\"sample string\")\n .account(\"sample string\")\n .container(\"sample string\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink\n .update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn::ENABLED,\n uid: \"unique-identifier\",\n config: {accessKey: \"sample string\", account: \"sample string\", container: \"sample string\"},\n type: \"azureBlobStorage\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .update(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n StreamSinkIn {\n batch_size: Some(100),\n event_types: Some(vec![]),\n max_wait_secs: Some(1),\n metadata: Some(HashMap::new()),\n status: Some(SinkStatusIn::Enabled),\n uid: Some(\"unique-identifier\".to_string()),\n config: StreamSinkInConfig::AzureBlobStorage(AzureBlobStorageConfig {\n access_key: \"sample string\".to_string(),\n account: \"sample string\".to_string(),\n container: \"sample string\".to_string(),\n }),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.Update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new StreamSinkIn\n {\n BatchSize = 100,\n EventTypes = [],\n MaxWaitSecs = 1,\n Metadata = [],\n Status = SinkStatusIn.Enabled,\n Uid = \"unique-identifier\",\n Config = StreamSinkInConfig.AzureBlobStorage(\n (\n new AzureBlobStorageConfig\n {\n AccessKey = \"sample string\",\n Account = \"sample string\",\n Container = \"sample string\",\n }\n )\n ),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkIn::create()\n ->withBatchSize(100)\n ->withEventTypes([])\n ->withMaxWaitSecs(1)\n ->withMetadata([])\n ->withStatus(SinkStatusIn::ENABLED)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink update \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" } ] }, "delete": { "tags": [ "Sink" ], "summary": "Delete Sink", "description": "Delete a sink.", "operationId": "v1.streaming.sink.delete", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.streaming.sink.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.streaming.sink.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.streaming.sink.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.streaming.sink.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Streaming.Sink.Delete(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.streaming.sink.delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getStreaming()\n .getSink()\n .delete(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink.delete(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.streaming()\n .sink()\n .delete(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.Delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->streaming->sink->delete(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink delete \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] }, "patch": { "tags": [ "Sink" ], "summary": "Patch Sink", "description": "Partially update a sink.", "operationId": "v1.streaming.sink.patch", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkPatch" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamSinkOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn.Enabled,\n uid: \"unique-identifier\",\n type: \"azureBlobStorage\",\n config: {\n accessKey: \"sample string\",\n account: \"sample string\",\n container: \"sample string\",\n },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkPatch(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStoragePatchConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkPatch(\n batch_size=100,\n event_types=[],\n max_wait_secs=1,\n metadata={},\n status=SinkStatusIn.ENABLED,\n uid=\"unique-identifier\",\n type=\"azureBlobStorage\",\n config=AzureBlobStoragePatchConfig(\n access_key=\"sample string\",\n account=\"sample string\",\n container=\"sample string\",\n ),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.Patch(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tStreamSinkPatch{\n\t\tBatchSize: NewNullable(uint16(100)),\n\t\tEventTypes: []string{},\n\t\tMaxWaitSecs: NewNullable(uint16(1)),\n\t\tMetadata: nil,\n\t\tStatus: NewNullable(SINKSTATUSIN_ENABLED),\n\t\tUid: NewNullable(\"unique-identifier\"),\n\t\tConfig: (AzureBlobStoragePatchConfig{AccessKey: new(\"sample string\"), Account: new(\"sample string\"), Container: new(\"sample string\")}),\n\t\tType: \"azureBlobStorage\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkPatch(\n batchSize = MaybeUnset.Present(100u),\n eventTypes = listOf(),\n maxWaitSecs = MaybeUnset.Present(1u),\n metadata = mapOf(),\n status = MaybeUnset.Present(SinkStatusIn.ENABLED),\n uid = MaybeUnset.Present(\"unique-identifier\"),\n config =\n StreamSinkPatchConfig.AzureBlobStorage(\n AzureBlobStoragePatchConfig(\n accessKey = \"sample string\",\n account = \"sample string\",\n container = \"sample string\",\n )\n ),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new StreamSinkPatch()\n .batchSize(100L)\n .eventTypes(List.of())\n .maxWaitSecs(1L)\n .metadata(Map.of())\n .status(SinkStatusIn.ENABLED)\n .uid(\"unique-identifier\")\n .config(new StreamSinkPatchConfig.AzureBlobStorage(new AzureBlobStoragePatchConfig()\n .accessKey(\"sample string\")\n .account(\"sample string\")\n .container(\"sample string\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink\n .patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n batchSize: 100,\n eventTypes: [],\n maxWaitSecs: 1,\n metadata: {},\n status: SinkStatusIn::ENABLED,\n uid: \"unique-identifier\",\n config: {accessKey: \"sample string\", account: \"sample string\", container: \"sample string\"},\n type: \"azureBlobStorage\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .patch(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n StreamSinkPatch {\n batch_size: js_option::JsOption::Some(100),\n event_types: Some(vec![]),\n max_wait_secs: js_option::JsOption::Some(1),\n metadata: Some(HashMap::new()),\n status: js_option::JsOption::Some(SinkStatusIn::Enabled),\n uid: js_option::JsOption::Some(\"unique-identifier\".to_string()),\n config: StreamSinkPatchConfig::AzureBlobStorage(AzureBlobStoragePatchConfig {\n access_key: Some(\"sample string\".to_string()),\n account: Some(\"sample string\".to_string()),\n container: Some(\"sample string\".to_string()),\n }),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.Patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new StreamSinkPatch\n {\n BatchSize = 100,\n EventTypes = [],\n MaxWaitSecs = 1,\n Metadata = [],\n Status = SinkStatusIn.Enabled,\n Uid = \"unique-identifier\",\n Config = StreamSinkPatchConfig.AzureBlobStorage(\n (\n new AzureBlobStoragePatchConfig\n {\n AccessKey = \"sample string\",\n Account = \"sample string\",\n Container = \"sample string\",\n }\n )\n ),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n StreamSinkPatch::create()\n ->withBatchSize(100)\n ->withEventTypes([])\n ->withMaxWaitSecs(1)\n ->withMetadata([])\n ->withStatus(SinkStatusIn::ENABLED)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink patch \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"batchSize\": 100,\n \"config\": {\n \"accessKey\": \"sample string\",\n \"account\": \"sample string\",\n \"container\": \"sample string\"\n },\n \"eventTypes\": [],\n \"maxWaitSecs\": 1,\n \"metadata\": {},\n \"status\": \"enabled\",\n \"type\": \"azureBlobStorage\",\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}/events": { "get": { "tags": [ "Event" ], "summary": "Poller Sink Stream Events", "description": "Iterate over a stream of events.\n\nThe sink must be of type `poller` to use the poller endpoint.", "operationId": "v1.streaming.events.get", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "nullable": true }, "style": "form" }, { "in": "query", "name": "after", "schema": { "type": "string", "format": "date-time", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventStreamOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.events.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.events.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.events.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.events.get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Events.Get(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.streaming.events.get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getEvents()\n .get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.events.get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .events()\n .get(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Events.Get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->events->get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming events get \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/events' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}/headers": { "get": { "tags": [ "Sink" ], "summary": "Get Sink Headers", "description": "Get the HTTP sink headers.\n\nOnly valid for `http` or `otelTracing` sinks.", "operationId": "v1.streaming.sink-headers-get", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "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.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointHeadersOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkHeadersGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkHeadersGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink_headers_get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink_headers_get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.SinkHeadersGet(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sinkHeadersGet(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .sinkHeadersGet(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink_headers_get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink_headers_get(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.SinkHeadersGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sinkHeadersGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink-headers-get \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "patch": { "tags": [ "Sink" ], "summary": "Patch Sink Headers", "description": "Updates the Sink's headers.\n\nOnly valid for `http` or `otelTracing` sinks.", "operationId": "v1.streaming.sink-headers-patch", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpSinkHeadersPatchIn" } } }, "required": true }, "responses": { "200": { "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.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointHeadersOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink_headers_patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n HttpSinkHeadersPatchIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink_headers_patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n HttpSinkHeadersPatchIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.SinkHeadersPatch(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tHttpSinkHeadersPatchIn{Headers: map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"}},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n HttpSinkHeadersPatchIn(headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\")),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .sinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new HttpSinkHeadersPatchIn()\n .headers(\n Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink_headers_patch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"}}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink_headers_patch(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n HttpSinkHeadersPatchIn {\n headers: HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.SinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new HttpSinkHeadersPatchIn\n {\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sinkHeadersPatch(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n HttpSinkHeadersPatchIn::create(\n headers: [\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"]\n )\n\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink-headers-patch \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}/secret": { "get": { "tags": [ "Sink" ], "summary": "Get Sink Secret", "description": "Get the sink's signing secret (only supported for http sinks)\n\nThis is used to verify the authenticity of the delivery.\n\nFor more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).", "operationId": "v1.streaming.sink.get-secret", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkSecretOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.getSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.getSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.get_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.get_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.GetSecret(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.getSecret(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .getSecret(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink.get_secret(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .get_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.GetSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->getSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink get-secret \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/secret' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate": { "post": { "tags": [ "Sink" ], "summary": "Rotate Sink Secret", "description": "Rotates the signing secret (only supported for http sinks).", "operationId": "v1.streaming.sink.rotate-secret", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointSecretRotateIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.rotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.rotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.rotate_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n EndpointSecretRotateIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.rotate_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n EndpointSecretRotateIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.RotateSecret(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tEndpointSecretRotateIn{Key: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.rotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n EndpointSecretRotateIn(key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .rotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new EndpointSecretRotateIn().key(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink\n .rotate_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .rotate_secret(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n EndpointSecretRotateIn {\n key: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.RotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new EndpointSecretRotateIn { Key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->rotateSecret(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n EndpointSecretRotateIn::create()\n ->withKey(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink rotate-secret \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/secret/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" } ] } }, "/api/v1/stream/{stream_id}/sink/{sink_id}/transformation": { "get": { "tags": [ "Sink" ], "summary": "Get Sink Transformation", "description": "Get the transformation code associated with this sink.", "operationId": "v1.streaming.sink-transformation-get", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkTransformationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkTransformationGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sinkTransformationGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink_transformation_get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink_transformation_get(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.SinkTransformationGet(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sinkTransformationGet(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .sinkTransformationGet(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.streaming.sink_transformation_get(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink_transformation_get(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.SinkTransformationGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sinkTransformationGet(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink-transformation-get \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "patch": { "tags": [ "Sink" ], "summary": "Set Sink Transformation", "description": "Set or unset the transformation code associated with this sink.", "operationId": "v1.streaming.sink.transformation-partial-update", "parameters": [ { "in": "path", "name": "stream_id", "description": "The Stream's ID or UID.", "required": true, "schema": { "description": "The Stream's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "sink_id", "description": "The StreamSink's ID or UID.", "required": true, "schema": { "description": "The StreamSink's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SinkTransformIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.transformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n code: \"sample string\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.streaming.sink.transformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n {\n code: \"sample string\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.streaming.sink.transformation_partial_update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n SinkTransformIn(\n code=\"sample string\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.streaming.sink.transformation_partial_update(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n SinkTransformIn(\n code=\"sample string\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Streaming.Sink.TransformationPartialUpdate(\n\tctx,\n\t\"strm_31Dc0DD72P5AddYUguyBd\",\n\t\"sink_31Dc11sPYY9aLDkwPuGMa\",\n\tSinkTransformIn{Code: new(\"sample string\")},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.streaming.sink.transformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n SinkTransformIn(code = \"sample string\"),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getStreaming()\n .getSink()\n .transformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new SinkTransformIn().code(\"sample string\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .streaming\n .sink\n .transformation_partial_update(\"strm_31Dc0DD72P5AddYUguyBd\", \"sink_31Dc11sPYY9aLDkwPuGMa\", {code: \"sample string\"})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .streaming()\n .sink()\n .transformation_partial_update(\n \"strm_31Dc0DD72P5AddYUguyBd\".to_string(),\n \"sink_31Dc11sPYY9aLDkwPuGMa\".to_string(),\n SinkTransformIn {\n code: Some(\"sample string\".to_string()),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Streaming.Sink.TransformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n new SinkTransformIn { Code = \"sample string\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->streaming->sink->transformationPartialUpdate(\n \"strm_31Dc0DD72P5AddYUguyBd\",\n \"sink_31Dc11sPYY9aLDkwPuGMa\",\n SinkTransformIn::create()\n ->withCode(\"sample string\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix streaming sink transformation-partial-update \"strm_31Dc0DD72P5AddYUguyBd\" \"sink_31Dc11sPYY9aLDkwPuGMa\" '{\n \"code\": \"sample string\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/api/v1/stream/strm_31Dc0DD72P5AddYUguyBd/sink/sink_31Dc11sPYY9aLDkwPuGMa/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"code\": \"sample string\"\n }'" } ] } }, "/ingest/api/v1/source": { "get": { "tags": [ "Ingest Source" ], "summary": "List Ingest Sources", "description": "List of all the organization's Ingest Sources.", "operationId": "v1.ingest.source.list", "parameters": [ { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "nullable": true, "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_IngestSourceOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.list();" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.list();" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.source.list()" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.source.list()" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Source.List(ctx, nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.ingest.source.list()" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest().getSource().list();" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.source.list" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix.ingest().source().list(None).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.List();" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->source->list();" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source list" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Ingest Source" ], "summary": "Create Ingest Source", "description": "Create Ingest Source.", "operationId": "v1.ingest.source.create", "parameters": [ { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.create({\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n type: \"cron\",\n config: {\n contentType: \"sample string\",\n payload: \"sample string\",\n schedule: \"sample string\",\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.create({\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n type: \"cron\",\n config: {\n contentType: \"sample string\",\n payload: \"sample string\",\n schedule: \"sample string\",\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.source.create(\n IngestSourceIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n type=\"cron\",\n config=CronConfig(\n content_type=\"sample string\",\n payload=\"sample string\",\n schedule=\"sample string\",\n ),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.source.create(\n IngestSourceIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n type=\"cron\",\n config=CronConfig(\n content_type=\"sample string\",\n payload=\"sample string\",\n schedule=\"sample string\",\n ),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Source.Create(\n\tctx,\n\tIngestSourceIn{\n\t\tMetadata: nil,\n\t\tName: \"sample string\",\n\t\tUid: new(\"unique-identifier\"),\n\t\tConfig: (CronConfig{ContentType: new(\"sample string\"), Payload: \"sample string\", Schedule: \"sample string\"}),\n\t\tType: \"cron\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.source.create(\n IngestSourceIn(\n metadata = mapOf(),\n name = \"sample string\",\n uid = \"unique-identifier\",\n config =\n IngestSourceInConfig.Cron(\n CronConfig(\n contentType = \"sample string\",\n payload = \"sample string\",\n schedule = \"sample string\",\n )\n ),\n )\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getSource()\n .create(new IngestSourceIn()\n .metadata(Map.of())\n .name(\"sample string\")\n .uid(\"unique-identifier\")\n .config(new IngestSourceInConfig.Cron(new CronConfig()\n .contentType(\"sample string\")\n .payload(\"sample string\")\n .schedule(\"sample string\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .source\n .create(\n {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n config: {contentType: \"sample string\", payload: \"sample string\", schedule: \"sample string\"},\n type: \"cron\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .source()\n .create(\n IngestSourceIn {\n metadata: Some(HashMap::new()),\n name: \"sample string\".to_string(),\n uid: Some(\"unique-identifier\".to_string()),\n config: IngestSourceInConfig::Cron(CronConfig {\n content_type: Some(\"sample string\".to_string()),\n payload: \"sample string\".to_string(),\n schedule: \"sample string\".to_string(),\n }),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.Create(\n new IngestSourceIn\n {\n Metadata = [],\n Name = \"sample string\",\n Uid = \"unique-identifier\",\n Config = IngestSourceInConfig.Cron(\n (\n new CronConfig\n {\n ContentType = \"sample string\",\n Payload = \"sample string\",\n Schedule = \"sample string\",\n }\n )\n ),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->source->create(\n IngestSourceIn::create(\n name: \"sample string\"\n )\n ->withMetadata([])\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source create '{\n \"config\": {\n \"contentType\": \"sample string\",\n \"payload\": \"sample string\",\n \"schedule\": \"sample string\"\n },\n \"metadata\": {},\n \"name\": \"sample string\",\n \"type\": \"cron\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/ingest/api/v1/source' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"config\": {\n \"contentType\": \"sample string\",\n \"payload\": \"sample string\",\n \"schedule\": \"sample string\"\n },\n \"metadata\": {},\n \"name\": \"sample string\",\n \"type\": \"cron\",\n \"uid\": \"unique-identifier\"\n }'" } ] } }, "/ingest/api/v1/source/{source_id}": { "get": { "tags": [ "Ingest Source" ], "summary": "Get Ingest Source", "description": "Get an Ingest Source by id or uid.", "operationId": "v1.ingest.source.get", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.get(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.get(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.source.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.source.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Source.Get(ctx, \"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.ingest.source.get(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest().getSource().get(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.source.get(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .source()\n .get(\"src_31Dc4Mx7vQVLfxFgArIhq\".to_string())\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.Get(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->source->get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source get \"src_31Dc4Mx7vQVLfxFgArIhq\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Ingest Source" ], "summary": "Update Source", "description": "Update an Ingest Source.", "operationId": "v1.ingest.source.update", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceOut" } } } }, "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.update(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n type: \"cron\",\n config: {\n contentType: \"sample string\",\n payload: \"sample string\",\n schedule: \"sample string\",\n },\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.update(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n type: \"cron\",\n config: {\n contentType: \"sample string\",\n payload: \"sample string\",\n schedule: \"sample string\",\n },\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.source.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n type=\"cron\",\n config=CronConfig(\n content_type=\"sample string\",\n payload=\"sample string\",\n schedule=\"sample string\",\n ),\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.source.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceIn(\n metadata={},\n name=\"sample string\",\n uid=\"unique-identifier\",\n type=\"cron\",\n config=CronConfig(\n content_type=\"sample string\",\n payload=\"sample string\",\n schedule=\"sample string\",\n ),\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Source.Update(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\tIngestSourceIn{\n\t\tMetadata: nil,\n\t\tName: \"sample string\",\n\t\tUid: new(\"unique-identifier\"),\n\t\tConfig: (CronConfig{ContentType: new(\"sample string\"), Payload: \"sample string\", Schedule: \"sample string\"}),\n\t\tType: \"cron\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.source.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceIn(\n metadata = mapOf(),\n name = \"sample string\",\n uid = \"unique-identifier\",\n config =\n IngestSourceInConfig.Cron(\n CronConfig(\n contentType = \"sample string\",\n payload = \"sample string\",\n schedule = \"sample string\",\n )\n ),\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getSource()\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestSourceIn()\n .metadata(Map.of())\n .name(\"sample string\")\n .uid(\"unique-identifier\")\n .config(new IngestSourceInConfig.Cron(new CronConfig()\n .contentType(\"sample string\")\n .payload(\"sample string\")\n .schedule(\"sample string\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .source\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n {\n metadata: {},\n name: \"sample string\",\n uid: \"unique-identifier\",\n config: {contentType: \"sample string\", payload: \"sample string\", schedule: \"sample string\"},\n type: \"cron\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .source()\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n IngestSourceIn {\n metadata: Some(HashMap::new()),\n name: \"sample string\".to_string(),\n uid: Some(\"unique-identifier\".to_string()),\n config: IngestSourceInConfig::Cron(CronConfig {\n content_type: Some(\"sample string\".to_string()),\n payload: \"sample string\".to_string(),\n schedule: \"sample string\".to_string(),\n }),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.Update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestSourceIn\n {\n Metadata = [],\n Name = \"sample string\",\n Uid = \"unique-identifier\",\n Config = IngestSourceInConfig.Cron(\n (\n new CronConfig\n {\n ContentType = \"sample string\",\n Payload = \"sample string\",\n Schedule = \"sample string\",\n }\n )\n ),\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->source->update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceIn::create(\n name: \"sample string\"\n )\n ->withMetadata([])\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source update \"src_31Dc4Mx7vQVLfxFgArIhq\" '{\n \"config\": {\n \"contentType\": \"sample string\",\n \"payload\": \"sample string\",\n \"schedule\": \"sample string\"\n },\n \"metadata\": {},\n \"name\": \"sample string\",\n \"type\": \"cron\",\n \"uid\": \"unique-identifier\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"config\": {\n \"contentType\": \"sample string\",\n \"payload\": \"sample string\",\n \"schedule\": \"sample string\"\n },\n \"metadata\": {},\n \"name\": \"sample string\",\n \"type\": \"cron\",\n \"uid\": \"unique-identifier\"\n }'" } ] }, "delete": { "tags": [ "Ingest Source" ], "summary": "Delete Ingest Source", "description": "Delete an Ingest Source.", "operationId": "v1.ingest.source.delete", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.ingest.source.delete(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.ingest.source.delete(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Python", "lang": "Python", "source": "svix.ingest.source.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.ingest.source.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Ingest.Source.Delete(ctx, \"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.ingest.source.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\"\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIngest().getSource().delete(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.source.delete(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.ingest().source().delete(\"src_31Dc4Mx7vQVLfxFgArIhq\".to_string()).await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.Delete(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "PHP", "lang": "PHP", "source": "$svix->ingest->source->delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source delete \"src_31Dc4Mx7vQVLfxFgArIhq\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/ingest/api/v1/source/{source_id}/dashboard": { "post": { "tags": [ "Ingest Source" ], "summary": "Ingest Source Consumer Portal", "description": "Get access to the Ingest Source Consumer Portal.", "operationId": "v1.ingest.dashboard", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestSourceConsumerPortalAccessIn" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DashboardAccessOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.dashboard(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n expiry: 1,\n readOnly: true,\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.dashboard(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n expiry: 1,\n readOnly: true,\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceConsumerPortalAccessIn(\n expiry=1,\n read_only=True,\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceConsumerPortalAccessIn(\n expiry=1,\n read_only=True,\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Dashboard(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\tIngestSourceConsumerPortalAccessIn{Expiry: new(uint64(1)), ReadOnly: new(true)},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceConsumerPortalAccessIn(expiry = 1u, readOnly = true),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestSourceConsumerPortalAccessIn().expiry(1L).readOnly(true));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.dashboard(\"src_31Dc4Mx7vQVLfxFgArIhq\", {expiry: 1, readOnly: true})" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n IngestSourceConsumerPortalAccessIn {\n expiry: Some(1),\n read_only: Some(true),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestSourceConsumerPortalAccessIn { Expiry = 1, ReadOnly = true }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->dashboard(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestSourceConsumerPortalAccessIn::create()\n ->withExpiry(1)\n ->withReadOnly(true)\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest dashboard \"src_31Dc4Mx7vQVLfxFgArIhq\" '{\n \"expiry\": 1,\n \"readOnly\": true\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/dashboard' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"expiry\": 1,\n \"readOnly\": true\n }'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint": { "get": { "tags": [ "Ingest Endpoint" ], "summary": "List Ingest Endpoints", "description": "List ingest endpoints.", "operationId": "v1.ingest.endpoint.list", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "query", "name": "limit", "description": "Limit the number of returned items", "schema": { "description": "Limit the number of returned items", "type": "integer", "format": "uint64", "maximum": 250.0, "minimum": 1.0 }, "style": "form" }, { "in": "query", "name": "iterator", "description": "The iterator returned from a prior invocation", "schema": { "description": "The iterator returned from a prior invocation", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "nullable": true, "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "style": "form" }, { "in": "query", "name": "order", "description": "The sorting order of the returned items", "schema": { "description": "The sorting order of the returned items", "$ref": "#/components/schemas/Ordering", "nullable": true }, "style": "form" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_IngestEndpointOut_" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.list(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.list(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.list(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.list(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.List(ctx, \"src_31Dc4Mx7vQVLfxFgArIhq\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.ingest.endpoint.list(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest().getEndpoint().list(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.list(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .list(\"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.List(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->list(\n \"src_31Dc4Mx7vQVLfxFgArIhq\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint list \"src_31Dc4Mx7vQVLfxFgArIhq\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "post": { "tags": [ "Ingest Endpoint" ], "summary": "Create Ingest Endpoint", "description": "Create an ingest endpoint.", "operationId": "v1.ingest.endpoint.create", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointIn" } } }, "required": true }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.create(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.create(\"src_31Dc4Mx7vQVLfxFgArIhq\", {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n});" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestEndpointIn(\n description=\"An example endpoint name\",\n disabled=True,\n metadata={},\n rate_limit=1,\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestEndpointIn(\n description=\"An example endpoint name\",\n disabled=True,\n metadata={},\n rate_limit=1,\n secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.Create(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\tIngestEndpointIn{\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tMetadata: nil,\n\t\tRateLimit: new(uint16(1)),\n\t\tSecret: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestEndpointIn(\n description = \"An example endpoint name\",\n disabled = true,\n metadata = mapOf(),\n rateLimit = 1u,\n secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestEndpointIn()\n .description(\"An example endpoint name\")\n .disabled(true)\n .metadata(Map.of())\n .rateLimit(1L)\n .secret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .endpoint\n .create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n IngestEndpointIn {\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n metadata: Some(HashMap::new()),\n rate_limit: Some(1),\n secret: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.Create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n new IngestEndpointIn\n {\n Description = \"An example endpoint name\",\n Disabled = true,\n Metadata = [],\n RateLimit = 1,\n Secret = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->create(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n IngestEndpointIn::create(\n url: \"https://example.com/webhook/\"\n )\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withMetadata([])\n ->withRateLimit(1)\n ->withSecret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint create \"src_31Dc4Mx7vQVLfxFgArIhq\" '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"metadata\": {},\n \"rateLimit\": 1,\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"metadata\": {},\n \"rateLimit\": 1,\n \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}": { "get": { "tags": [ "Ingest Endpoint" ], "summary": "Get Ingest Endpoint", "description": "Get an ingest endpoint.", "operationId": "v1.ingest.endpoint.get", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.Get(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.get(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .get(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.get(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.Get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->get(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint get \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Ingest Endpoint" ], "summary": "Update Ingest Endpoint", "description": "Update an ingest endpoint.", "operationId": "v1.ingest.endpoint.update", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointUpdate" } } }, "required": true }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointUpdate(\n description=\"An example endpoint name\",\n disabled=True,\n metadata={},\n rate_limit=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointUpdate(\n description=\"An example endpoint name\",\n disabled=True,\n metadata={},\n rate_limit=1,\n uid=\"unique-identifier\",\n url=\"https://example.com/webhook/\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.Update(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tIngestEndpointUpdate{\n\t\tDescription: new(\"An example endpoint name\"),\n\t\tDisabled: new(true),\n\t\tMetadata: nil,\n\t\tRateLimit: new(uint16(1)),\n\t\tUid: new(\"unique-identifier\"),\n\t\tUrl: \"https://example.com/webhook/\",\n\t},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointUpdate(\n description = \"An example endpoint name\",\n disabled = true,\n metadata = mapOf(),\n rateLimit = 1u,\n uid = \"unique-identifier\",\n url = \"https://example.com/webhook/\",\n ),\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointUpdate()\n .description(\"An example endpoint name\")\n .disabled(true)\n .metadata(Map.of())\n .rateLimit(1L)\n .uid(\"unique-identifier\")\n .url(URI.create(\"https://example.com/webhook/\")));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .endpoint\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n description: \"An example endpoint name\",\n disabled: true,\n metadata: {},\n rateLimit: 1,\n uid: \"unique-identifier\",\n url: \"https://example.com/webhook/\"\n }\n )" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n IngestEndpointUpdate {\n description: Some(\"An example endpoint name\".to_string()),\n disabled: Some(true),\n metadata: Some(HashMap::new()),\n rate_limit: Some(1),\n uid: Some(\"unique-identifier\".to_string()),\n url: \"https://example.com/webhook/\".to_string(),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.Update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointUpdate\n {\n Description = \"An example endpoint name\",\n Disabled = true,\n Metadata = [],\n RateLimit = 1,\n Uid = \"unique-identifier\",\n Url = \"https://example.com/webhook/\",\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->update(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointUpdate::create(\n url: \"https://example.com/webhook/\"\n )\n ->withDescription(\"An example endpoint name\")\n ->withDisabled(true)\n ->withMetadata([])\n ->withRateLimit(1)\n ->withUid(\"unique-identifier\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint update \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"metadata\": {},\n \"rateLimit\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"description\": \"An example endpoint name\",\n \"disabled\": true,\n \"metadata\": {},\n \"rateLimit\": 1,\n \"uid\": \"unique-identifier\",\n \"url\": \"https://example.com/webhook/\"\n }'" } ] }, "delete": { "tags": [ "Ingest Endpoint" ], "summary": "Delete Ingest Endpoint", "description": "Delete an ingest endpoint.", "operationId": "v1.ingest.endpoint.delete", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "svix.ingest.endpoint.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.ingest.endpoint.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Ingest.Endpoint.Delete(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.ingest.endpoint.delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIngest()\n .getEndpoint()\n .delete(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.delete(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "svix.ingest()\n .endpoint()\n .delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.Delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->ingest->endpoint->delete(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint delete \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'DELETE' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1' \\\n -H 'Authorization: Bearer AUTH_TOKEN'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers": { "get": { "tags": [ "Ingest Endpoint" ], "summary": "Get Ingest Endpoint Headers", "description": "Get the additional headers to be sent with the ingest.", "operationId": "v1.ingest.endpoint.get-headers", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointHeadersOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.get_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.get_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.GetHeaders(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.getHeaders(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .getHeaders(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.get_headers(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .get_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.GetHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->getHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint get-headers \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "put": { "tags": [ "Ingest Endpoint" ], "summary": "Update Ingest Endpoint Headers", "description": "Set the additional headers to be sent to the endpoint.", "operationId": "v1.ingest.endpoint.update-headers", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointHeadersIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.updateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.updateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n headers: { \"X-Example\": \"123\", \"X-Foobar\": \"Bar\" },\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.ingest.endpoint.update_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.ingest.endpoint.update_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointHeadersIn(\n headers={\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"},\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Ingest.Endpoint.UpdateHeaders(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tIngestEndpointHeadersIn{Headers: map[string]string{\"X-Example\": \"123\", \"X-Foobar\": \"Bar\"}},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.ingest.endpoint.updateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointHeadersIn(headers = mapOf(\"X-Example\" to \"123\", \"X-Foobar\" to \"Bar\")),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIngest()\n .getEndpoint()\n .updateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointHeadersIn()\n .headers(\n Map.ofEntries(Map.entry(\"X-Example\", \"123\"), Map.entry(\"X-Foobar\", \"Bar\"))));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .endpoint\n .update_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {headers: {:\"X-Example\" => \"123\", :\"X-Foobar\" => \"Bar\"}}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.ingest()\n .endpoint()\n .update_headers(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n IngestEndpointHeadersIn {\n headers: HashMap::from([\n (\"X-Example\".to_string(), \"123\".to_string()),\n (\"X-Foobar\".to_string(), \"Bar\".to_string()),\n ]),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.UpdateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointHeadersIn\n {\n Headers = new() { { \"X-Example\", \"123\" }, { \"X-Foobar\", \"Bar\" } },\n }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->ingest->endpoint->updateHeaders(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointHeadersIn::create(\n headers: [\"X-Example\" => \"123\", \"X-Foobar\" => \"Bar\"]\n )\n\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint update-headers \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PUT' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/headers' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"headers\": {\n \"X-Example\": \"123\",\n \"X-Foobar\": \"Bar\"\n }\n }'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret": { "get": { "tags": [ "Ingest Endpoint" ], "summary": "Get Ingest Endpoint Secret", "description": "Get an ingest 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.ingest.endpoint.get-secret", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointSecretOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.get_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.get_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.GetSecret(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.getSecret(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .getSecret(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.get_secret(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .get_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.GetSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->getSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint get-secret \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate": { "post": { "tags": [ "Ingest Endpoint" ], "summary": "Rotate Ingest Endpoint Secret", "description": "Rotates an ingest endpoint's signing secret.\n\nThe previous secret will remain valid for the next 24 hours.", "operationId": "v1.ingest.endpoint.rotate-secret", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointSecretIn" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.rotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.rotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.ingest.endpoint.rotate_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointSecretIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.ingest.endpoint.rotate_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointSecretIn(\n key=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Ingest.Endpoint.RotateSecret(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tIngestEndpointSecretIn{Key: new(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")},\n\tnil,\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.ingest.endpoint.rotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointSecretIn(key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIngest()\n .getEndpoint()\n .rotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointSecretIn().key(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .endpoint\n .rotate_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {key: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.ingest()\n .endpoint()\n .rotate_secret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n IngestEndpointSecretIn {\n key: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n },\n None,\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.RotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointSecretIn { Key = \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\" }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->ingest->endpoint->rotateSecret(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointSecretIn::create()\n ->withKey(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint rotate-secret \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/secret/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"key\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n }'" } ] } }, "/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation": { "get": { "tags": [ "Ingest Endpoint" ], "summary": "Get Ingest Endpoint Transformation", "description": "Get the transformation code associated with this ingest endpoint.", "operationId": "v1.ingest.endpoint.get-transformation", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointTransformationOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.endpoint.getTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.endpoint.get_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.endpoint.get_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Endpoint.GetTransformation(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response =\n svix.ingest.endpoint.getTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n )" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest()\n .getEndpoint()\n .getTransformation(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.endpoint.get_transformation(\"src_31Dc4Mx7vQVLfxFgArIhq\", \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .endpoint()\n .get_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.GetTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->endpoint->getTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint get-transformation \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'GET' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] }, "patch": { "tags": [ "Ingest Endpoint" ], "summary": "Patch Ingest Endpoint Transformation", "description": "Set or unset the transformation code associated with this ingest endpoint.", "operationId": "v1.ingest.endpoint.set-transformation", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "path", "name": "endpoint_id", "description": "The Endpoint's ID or UID.", "required": true, "schema": { "description": "The Endpoint's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "style": "simple" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointTransformationPatch" } } }, "required": true }, "responses": { "204": { "description": "no content" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.setTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n code: \"sample string\",\n enabled: true,\n }\n);" }, { "label": "TypeScript", "lang": "TypeScript", "source": "await svix.ingest.endpoint.setTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {\n code: \"sample string\",\n enabled: true,\n }\n);" }, { "label": "Python", "lang": "Python", "source": "svix.ingest.endpoint.set_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointTransformationPatch(\n code=\"sample string\",\n enabled=True,\n ),\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "await svix.ingest.endpoint.set_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointTransformationPatch(\n code=\"sample string\",\n enabled=True,\n ),\n)" }, { "label": "Go", "lang": "Go", "source": "err := svix.Ingest.Endpoint.SetTransformation(\n\tctx,\n\t\"src_31Dc4Mx7vQVLfxFgArIhq\",\n\t\"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n\tIngestEndpointTransformationPatch{Code: NewNullable(\"sample string\"), Enabled: new(true)},\n)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "svix.ingest.endpoint.setTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointTransformationPatch(code = MaybeUnset.Present(\"sample string\"), enabled = true),\n)" }, { "label": "Java", "lang": "Java", "source": "svix.getIngest()\n .getEndpoint()\n .setTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointTransformationPatch().code(\"sample string\").enabled(true));" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix\n .ingest\n .endpoint\n .set_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n {code: \"sample string\", enabled: true}\n )" }, { "label": "Rust", "lang": "Rust", "source": "svix.ingest()\n .endpoint()\n .set_transformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(),\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\".to_string(),\n IngestEndpointTransformationPatch {\n code: js_option::JsOption::Some(\"sample string\".to_string()),\n enabled: Some(true),\n },\n )\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Endpoint.SetTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n new IngestEndpointTransformationPatch { Code = \"sample string\", Enabled = true }\n);" }, { "label": "PHP", "lang": "PHP", "source": "$svix->ingest->endpoint->setTransformation(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\",\n IngestEndpointTransformationPatch::create()\n ->withCode(\"sample string\")\n ->withEnabled(true)\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest endpoint set-transformation \"src_31Dc4Mx7vQVLfxFgArIhq\" \"ep_33ZIBDmz66FcPG35FnsbM6Ie4X1\" '{\n \"code\": \"sample string\",\n \"enabled\": true\n }'" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'PATCH' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/endpoint/ep_33ZIBDmz66FcPG35FnsbM6Ie4X1/transformation' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"code\": \"sample string\",\n \"enabled\": true\n }'" } ] } }, "/ingest/api/v1/source/{source_id}/token/rotate": { "post": { "tags": [ "Ingest Source" ], "summary": "Rotate Ingest Token", "description": "Rotate the Ingest Source's Url Token.\n\nThis will rotate the ingest source's token, which is used to\nconstruct the unique `ingestUrl` for the source. Previous tokens\nwill remain valid for 48 hours after rotation. The token can be\nrotated a maximum of three times within the 48-hour period.", "operationId": "v1.ingest.source.rotate-token", "parameters": [ { "in": "path", "name": "source_id", "description": "The Source's ID or UID.", "required": true, "schema": { "description": "The Source's ID or UID.", "type": "string", "maxLength": 60, "minLength": 1, "example": "unique-identifier" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" }, { "in": "header", "name": "idempotency-key", "description": "The request's idempotency key", "schema": { "type": "string" }, "style": "simple" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RotateTokenOut" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HttpErrorOut" } } } } }, "security": [ { "HTTPBearer": [] } ], "x-codeSamples": [ { "label": "JavaScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.rotateToken(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "TypeScript", "lang": "TypeScript", "source": "const response = await svix.ingest.source.rotateToken(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Python", "lang": "Python", "source": "response = svix.ingest.source.rotate_token(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Python (Async)", "lang": "Python", "source": "response = await svix.ingest.source.rotate_token(\n \"src_31Dc4Mx7vQVLfxFgArIhq\",\n)" }, { "label": "Go", "lang": "Go", "source": "response, err := svix.Ingest.Source.RotateToken(ctx, \"src_31Dc4Mx7vQVLfxFgArIhq\", nil)" }, { "label": "Kotlin", "lang": "Kotlin", "source": "val response = svix.ingest.source.rotateToken(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Java", "lang": "Java", "source": "var response = svix.getIngest().getSource().rotateToken(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "Ruby", "lang": "Ruby", "source": "response = svix.ingest.source.rotate_token(\"src_31Dc4Mx7vQVLfxFgArIhq\")" }, { "label": "Rust", "lang": "Rust", "source": "let response = svix\n .ingest()\n .source()\n .rotate_token(\"src_31Dc4Mx7vQVLfxFgArIhq\".to_string(), None)\n .await?;" }, { "label": "C#", "lang": "C#", "source": "var response = svix.Ingest.Source.RotateToken(\"src_31Dc4Mx7vQVLfxFgArIhq\");" }, { "label": "PHP", "lang": "PHP", "source": "$response = $svix->ingest->source->rotateToken(\n \"src_31Dc4Mx7vQVLfxFgArIhq\"\n);" }, { "label": "CLI", "lang": "Shell", "source": "svix ingest source rotate-token \"src_31Dc4Mx7vQVLfxFgArIhq\"" }, { "label": "cURL", "lang": "Shell", "source": "curl -X 'POST' \\\n 'https://api.eu.svix.com/ingest/api/v1/source/src_31Dc4Mx7vQVLfxFgArIhq/token/rotate' \\\n -H 'Authorization: Bearer AUTH_TOKEN' \\\n -H 'Accept: application/json'" } ] } } }, "webhooks": { "background_task.finished": { "post": { "tags": [ "Webhook" ], "summary": "background_task.finished", "description": "Sent when a background task is finished.", "operationId": "background_task.finished", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BackgroundTaskFinishedEvent" }, "example": { "data": { "data": { "appStats": [ { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": null, "messageDestinations": 343 } ] }, "status": "finished", "task": "application.stats", "taskId": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "background_task.finished" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } } } }, "endpoint.created": { "post": { "tags": [ "Webhook" ], "summary": "endpoint.created", "description": "Sent when an endpoint is created.", "operationId": "endpoint.created", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointCreatedEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.created" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "endpoint.deleted": { "post": { "tags": [ "Webhook" ], "summary": "endpoint.deleted", "description": "Sent when an endpoint is deleted.", "operationId": "endpoint.deleted", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointDeletedEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.deleted" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "endpoint.disabled": { "post": { "tags": [ "Webhook" ], "summary": "endpoint.disabled", "description": "Sent when an endpoint has been automatically disabled after continuous failures, or manually via an API call.", "operationId": "endpoint.disabled", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointDisabledEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier", "failSince": "2022-11-06T15:04:05Z", "trigger": "automatic" }, "type": "endpoint.disabled" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "endpoint.enabled": { "post": { "tags": [ "Webhook" ], "summary": "endpoint.enabled", "description": "Sent when an endpoint has been enabled.", "operationId": "endpoint.enabled", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointEnabledEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.enabled" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "endpoint.updated": { "post": { "tags": [ "Webhook" ], "summary": "endpoint.updated", "description": "Sent when an endpoint is updated.", "operationId": "endpoint.updated", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EndpointUpdatedEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.updated" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "ingest.endpoint.disabled": { "post": { "tags": [ "Webhook" ], "summary": "ingest.endpoint.disabled", "description": "Sent when an ingest endpoint has been automatically disabled after continuous failures, or manually via an API call.", "operationId": "ingest.endpoint.disabled", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestEndpointDisabledEvent" }, "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier", "failSince": "2022-11-06T15:04:05Z", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr", "trigger": "automatic" }, "type": "ingest.endpoint.disabled" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } } } }, "ingest.message.attempt.exhausted": { "post": { "tags": [ "Webhook" ], "summary": "ingest.message.attempt.exhausted", "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "operationId": "ingest.message.attempt.exhausted", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestMessageAttemptExhaustedEvent" }, "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.exhausted" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } } } }, "ingest.message.attempt.failing": { "post": { "tags": [ "Webhook" ], "summary": "ingest.message.attempt.failing", "description": "Sent after a message has been failing for a few times.\nIt's sent on the fourth failure. It complements `ingest.message.attempt.exhausted` which is sent after the last failure.", "operationId": "ingest.message.attempt.failing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestMessageAttemptFailingEvent" }, "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.failing" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } } } }, "ingest.message.attempt.recovered": { "post": { "tags": [ "Webhook" ], "summary": "ingest.message.attempt.recovered", "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "operationId": "ingest.message.attempt.recovered", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IngestMessageAttemptRecoveredEvent" }, "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.recovered" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } } } }, "message.attempt.exhausted": { "post": { "tags": [ "Webhook" ], "summary": "message.attempt.exhausted", "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "operationId": "message.attempt.exhausted", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAttemptExhaustedEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.exhausted" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "message.attempt.failing": { "post": { "tags": [ "Webhook" ], "summary": "message.attempt.failing", "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": "message.attempt.failing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAttemptFailingEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.failing" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } }, "message.attempt.log": { "post": { "tags": [ "Webhook" ], "summary": "message.attempt.log", "description": "Sent after message attempts are made. Contains metadata about message attempts and their results. In order to reduce the frequency of webhooks, these are sent in batches periodically.", "operationId": "message.attempt.log", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAttemptLogEvent" }, "example": { "data": [ { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "attemptCount": 1, "attemptEnd": "2022-11-06T15:04:07Z", "attemptId": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "attemptStart": "2022-11-06T15:04:06Z", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "eventType": "user.signup", "msgCreated": "2022-11-06T15:04:05Z", "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "orgId": "env_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "status": 0 } ], "type": "message.attempt.log" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-internal": true, "x-svix-feature-flags": [ "attempt_log" ], "x-svix-group-name": "dispatch" } }, "message.attempt.recovered": { "post": { "tags": [ "Webhook" ], "summary": "message.attempt.recovered", "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "operationId": "message.attempt.recovered", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAttemptRecoveredEvent" }, "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.recovered" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "x-svix-group-name": "dispatch" } } }, "components": { "securitySchemes": { "HTTPBearer": { "type": "http", "scheme": "bearer", "description": "HTTP Bearer token passed in the `Authorization` header" } }, "schemas": { "ActiveAppCount": { "type": "object", "required": [ "count" ], "properties": { "count": { "type": "integer", "format": "uint64", "minimum": 0.0 } } }, "ActiveApplicationOut": { "type": "object", "required": [ "createdAt", "endpoints", "id", "name", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "endpoints": { "type": "array", "items": { "$ref": "#/components/schemas/ActiveEndpointOut" } }, "id": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "name": { "type": "string", "example": "My first application" }, "uid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ActiveEndpointOut": { "type": "object", "required": [ "createdAt", "id", "updatedAt", "url" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "uid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri" } } }, "AdobeSignConfig": { "type": "object", "required": [ "clientId" ], "properties": { "clientId": { "type": "string" } } }, "AdobeSignConfigOut": { "type": "object" }, "AdobeSignResponse": { "type": "object", "required": [ "xAdobeSignClientId" ], "properties": { "xAdobeSignClientId": { "type": "string" } } }, "AggregateEventTypesOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "AggregatedEventTypes": { "type": "object", "required": [ "appId", "explicitlySubscribedEventTypes", "hasCatchAllEndpoint" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "explicitlySubscribedEventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true }, "hasCatchAllEndpoint": { "type": "boolean" } } }, "AirwallexConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "AirwallexConfigOut": { "type": "object" }, "AlertEmailPatch": { "type": "object", "properties": { "email": { "description": "A comma-separated list of email addresses", "type": "string", "example": "user1@example.com, user2@example.com", "nullable": true } } }, "AmazonS3PatchConfig": { "type": "object", "properties": { "accessKeyId": { "type": "string" }, "bucket": { "type": "string" }, "endpointUrl": { "type": "string", "format": "uri" }, "region": { "type": "string" }, "secretAccessKey": { "type": "string" } } }, "ApiTokenCensoredOut": { "type": "object", "required": [ "censoredToken", "createdAt", "id" ], "properties": { "censoredToken": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true }, "id": { "type": "string" }, "name": { "type": "string", "nullable": true }, "scopes": { "type": "array", "items": { "type": "string" }, "nullable": true } } }, "ApiTokenExpireIn": { "type": "object", "properties": { "expiry": { "description": "How many seconds until the old key is expired.", "default": 0, "type": "integer", "format": "int32", "maximum": 259200.0, "minimum": 0.0 } } }, "ApiTokenIn": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" }, "minItems": 1, "nullable": true } } }, "ApiTokenOut": { "type": "object", "required": [ "createdAt", "id", "token" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true }, "id": { "type": "string" }, "name": { "type": "string", "nullable": true }, "scopes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "token": { "type": "string" } } }, "ApiTokenPatch": { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "scopes": { "type": "array", "items": { "type": "string" }, "minItems": 1, "nullable": true } } }, "ApiTokenUpdate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" } } }, "AppAttemptEventTypeStats": { "type": "object", "required": [ "canceled", "failure", "success" ], "properties": { "canceled": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "failure": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "success": { "type": "integer", "format": "uint64", "minimum": 0.0 } } }, "AppAttemptStatsOut": { "type": "object", "required": [ "by_event_type", "since", "total_canceled", "total_failure", "total_success", "until" ], "properties": { "by_event_type": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/AppAttemptEventTypeStats" } }, "since": { "type": "string", "format": "date-time" }, "total_canceled": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "total_failure": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "total_success": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "until": { "type": "string", "format": "date-time" } } }, "AppAttemptStatsParams": { "type": "object", "required": [ "since", "until" ], "properties": { "since": { "type": "string", "format": "date-time" }, "until": { "type": "string", "format": "date-time" } } }, "AppPortalAccessIn": { "type": "object", "properties": { "application": { "description": "Optionally creates a new application while generating the access link.\n\nIf the application id or uid that is used in the path already exists, this argument is ignored.", "$ref": "#/components/schemas/ApplicationIn", "nullable": true }, "capabilities": { "description": "Custom capabilities attached to the token, You can combine as many capabilities as necessary.\n\nThe `ViewBase` capability is always required\n\n- `ViewBase`: Basic read only permissions, does not allow the user to see the endpoint secret.\n\n- `ViewEndpointSecret`: Allows user to view the endpoint secret.\n\n- `ManageEndpointSecret`: Allows user to rotate and view the endpoint secret.\n\n- `ManageTransformations`: Allows user to modify the endpoint transformations.\n\n- `CreateAttempts`: Allows user to replay missing messages and send example messages.\n\n- `ManageEndpoint`: Allows user to read/modify any field or configuration of an endpoint (including secrets)\n\nBy default, the token will get all capabilities if the capabilities are not explicitly specified.", "type": "array", "items": { "$ref": "#/components/schemas/AppPortalCapability" }, "uniqueItems": true, "example": [ "ViewBase", "ViewEndpointSecret" ], "nullable": true }, "expiry": { "description": "How long the token will be valid for, in seconds.\n\nValid values are between 1 hour and 7 days. The default is 7 days.", "default": 604800, "type": "integer", "format": "uint64", "maximum": 604800.0, "minimum": 3600.0, "nullable": true }, "featureFlags": { "description": "The set of feature flags the created token will have access to.", "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "maxItems": 25, "minItems": 1, "uniqueItems": true, "example": [] }, "readOnly": { "description": "Whether the app portal should be in read-only mode.", "deprecated": true, "type": "boolean", "nullable": true }, "sessionId": { "description": "An optional session ID to attach to the token.\n\nWhen expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.", "type": "string", "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9@_-]+$", "example": "user_1FB8", "nullable": true } } }, "AppPortalAccessOut": { "type": "object", "required": [ "token", "url" ], "properties": { "token": { "type": "string", "example": "appsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://app.svix.com/login#key=eyJhcHBJZCI6ICJhcHBfMXRSdFl" } } }, "AppPortalCapability": { "type": "string", "enum": [ "ViewBase", "ViewEndpointSecret", "ManageEndpointSecret", "ManageTransformations", "CreateAttempts", "ManageEndpoint" ] }, "AppUsageStatsIn": { "type": "object", "required": [ "since", "until" ], "properties": { "appIds": { "description": "Specific app IDs or UIDs to aggregate stats for.\n\nNote that if none of the given IDs or UIDs are resolved, a 422 response will be given.", "type": "array", "items": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "uniqueItems": true, "nullable": true }, "since": { "type": "string", "format": "date-time" }, "until": { "type": "string", "format": "date-time" } } }, "AppUsageStatsOut": { "type": "object", "required": [ "id", "status", "task", "unresolvedAppIds", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "unresolvedAppIds": { "description": "Any app IDs or UIDs received in the request that weren't found.\n\nStats will be produced for all the others.", "type": "array", "items": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "uniqueItems": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ApplicationAlertEvent": { "type": "string", "enum": [ "endpoint.disabled", "message.attempt.exhausted", "stream.sink.disabled" ] }, "ApplicationIn": { "type": "object", "required": [ "name" ], "properties": { "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "description": "Application name for human consumption.", "type": "string", "minLength": 1, "example": "My first application" }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this application.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the application.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "ApplicationMessageFailure": { "type": "object", "required": [ "appId", "reason" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "reason": { "type": "string" } } }, "ApplicationMessageIdPair": { "type": "object", "required": [ "appId", "msgId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" } } }, "ApplicationOut": { "type": "object", "required": [ "createdAt", "id", "metadata", "name", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "description": "Application name for human consumption.", "type": "string", "example": "My first application" }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this application.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the application.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ApplicationPatch": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this application.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "ApplicationStatsOut": { "type": "object", "required": [ "appId", "messageDestinations" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "messageDestinations": { "type": "integer", "format": "int64" } } }, "ApplicationTokenExpireIn": { "type": "object", "properties": { "expiry": { "description": "How many seconds until the old key is expired.", "type": "integer", "format": "int64", "maximum": 259200.0, "minimum": 0.0, "example": 60, "nullable": true }, "sessionIds": { "description": "An optional list of session ids.\n\nIf any session ids are specified, only Application tokens created with that session id will be expired.", "type": "array", "items": { "type": "string", "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9@_-]+$", "example": "user_1FB8" }, "maxItems": 1000 } } }, "AttemptStatisticsData": { "type": "object", "properties": { "canceledCount": { "type": "array", "items": { "type": "integer", "format": "int" }, "nullable": true }, "failureCount": { "type": "array", "items": { "type": "integer", "format": "int" }, "nullable": true }, "successCount": { "type": "array", "items": { "type": "integer", "format": "int" }, "nullable": true } } }, "AttemptStatisticsResponse": { "type": "object", "required": [ "data", "endDate", "period", "startDate" ], "properties": { "data": { "$ref": "#/components/schemas/AttemptStatisticsData" }, "endDate": { "type": "string", "format": "date-time" }, "period": { "$ref": "#/components/schemas/StatisticsPeriod" }, "startDate": { "type": "string", "format": "date-time" } } }, "AuthenticationSource": { "description": "The authentication type of the current request", "type": "string", "enum": [ "OidcJwt", "SvixJwt", "RegionalAuthToken", "GlobalAuthToken", "Unknown" ] }, "AutoConfigCensoredOut": { "type": "object", "required": [ "endpId", "tokenCensored", "updatedAt" ], "properties": { "endpId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "tokenCensored": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "AutoConfigOut": { "type": "object", "required": [ "endpId", "token", "updatedAt" ], "properties": { "endpId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "token": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "AzureBlobStorageConfig": { "type": "object", "required": [ "accessKey", "account", "container" ], "properties": { "accessKey": { "type": "string" }, "account": { "type": "string" }, "container": { "type": "string" } } }, "AzureBlobStoragePatchConfig": { "type": "object", "properties": { "accessKey": { "type": "string" }, "account": { "type": "string" }, "container": { "type": "string" } } }, "BackgroundTaskFinishedEvent": { "description": "Sent when a background task is finished.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/BackgroundTaskFinishedEvent2" }, "type": { "default": "background_task.finished", "type": "string", "enum": [ "background_task.finished" ] } } }, "BackgroundTaskFinishedEvent2": { "type": "object", "required": [ "data", "status", "task", "taskId" ], "properties": { "data": { "$ref": "#/components/schemas/Data" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "taskId": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" } } }, "BackgroundTaskOut": { "type": "object", "required": [ "data", "id", "status", "task", "updatedAt" ], "properties": { "data": { "type": "object" }, "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "BackgroundTaskStatus": { "type": "string", "enum": [ "running", "finished", "failed" ] }, "BackgroundTaskType": { "type": "string", "enum": [ "endpoint.replay", "endpoint.recover", "application.stats", "message.broadcast", "sdk.generate", "event-type.aggregate", "application.purge_content", "endpoint.bulk-replay" ] }, "BorderRadiusConfig": { "type": "object", "properties": { "button": { "$ref": "#/components/schemas/BorderRadiusEnum", "nullable": true }, "card": { "$ref": "#/components/schemas/BorderRadiusEnum", "nullable": true }, "input": { "$ref": "#/components/schemas/BorderRadiusEnum", "nullable": true } } }, "BorderRadiusEnum": { "type": "string", "enum": [ "none", "lg", "md", "sm", "full" ] }, "BulkReplayIn": { "type": "object", "required": [ "since" ], "properties": { "channel": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337", "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "since": { "type": "string", "format": "date-time" }, "status": { "$ref": "#/components/schemas/MessageStatus", "nullable": true }, "statusCodeClass": { "$ref": "#/components/schemas/StatusCodeClass", "nullable": true }, "tag": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337", "nullable": true }, "until": { "type": "string", "format": "date-time", "nullable": true } } }, "CheckbookConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "CheckbookConfigOut": { "type": "object" }, "ClientSecretJwtParamsIn": { "type": "object", "required": [ "secretBase64", "signingAlgorithm" ], "properties": { "secretBase64": { "description": "The base64-encoded secret used for signing the JWT.", "type": "string" }, "secretId": { "description": "Optional secret identifier. If supplied, this will be populated in the JWT header in the `kid` field.", "type": "string", "nullable": true }, "signingAlgorithm": { "description": "The algorithm used to sign the JWT.", "$ref": "#/components/schemas/OauthJwsSigningAlgorithm" }, "tokenExpirySecs": { "description": "Optional number of seconds after which the JWT should expire. Defaults to 300 seconds.", "type": "integer", "format": "uint64", "minimum": 0.0, "nullable": true } } }, "CompletionChoice": { "type": "object", "required": [ "finish_reason", "index", "message" ], "properties": { "finish_reason": { "type": "string" }, "index": { "type": "integer", "format": "int64" }, "message": { "$ref": "#/components/schemas/CompletionMessage" } } }, "CompletionMessage": { "type": "object", "required": [ "content", "role" ], "properties": { "content": { "type": "string" }, "refusal": { "type": "string", "nullable": true }, "role": { "type": "string" } } }, "ConnectorAuthenticationMethod": { "type": "string", "enum": [ "HttpBearer", "HttpBasic" ] }, "ConnectorIn": { "type": "object", "required": [ "name", "transformation" ], "properties": { "allowedEventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "Example connector description" }, "featureFlags": { "default": null, "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "nullable": true }, "instructions": { "default": "", "type": "string", "example": "Markdown-formatted instructions" }, "kind": { "default": "Custom", "$ref": "#/components/schemas/ConnectorKind", "example": "Slack" }, "logo": { "type": "string", "format": "uri", "example": "https://example.com/logo.png", "nullable": true }, "name": { "type": "string", "example": "My first connector" }, "productType": { "default": null, "$ref": "#/components/schemas/ConnectorProduct", "nullable": true }, "transformation": { "type": "string", "maxLength": 51200, "minLength": 10, "example": "function handler(webhook) { /* ... */ }" }, "uid": { "description": "The Connector's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "ConnectorKind": { "type": "string", "enum": [ "Custom", "AgenticCommerceProtocol", "CloseCRM", "CustomerIO", "Discord", "Hubspot", "Inngest", "Loops", "Otel", "Resend", "Salesforce", "Segment", "Sendgrid", "Slack", "Teams", "TriggerDev", "Windmill", "Zapier" ] }, "ConnectorOptions": { "oneOf": [ { "$ref": "#/components/schemas/ConnectorOptions_Custom" }, { "$ref": "#/components/schemas/ConnectorOptions_AgenticCommerceProtocol" }, { "$ref": "#/components/schemas/ConnectorOptions_CloseCRM" }, { "$ref": "#/components/schemas/ConnectorOptions_CustomerIO" }, { "$ref": "#/components/schemas/ConnectorOptions_Discord" }, { "$ref": "#/components/schemas/ConnectorOptions_Hubspot" }, { "$ref": "#/components/schemas/ConnectorOptions_Inngest" }, { "$ref": "#/components/schemas/ConnectorOptions_Loops" }, { "$ref": "#/components/schemas/ConnectorOptions_Otel" }, { "$ref": "#/components/schemas/ConnectorOptions_Resend" }, { "$ref": "#/components/schemas/ConnectorOptions_Salesforce" }, { "$ref": "#/components/schemas/ConnectorOptions_Segment" }, { "$ref": "#/components/schemas/ConnectorOptions_Sendgrid" }, { "$ref": "#/components/schemas/ConnectorOptions_Slack" }, { "$ref": "#/components/schemas/ConnectorOptions_Teams" }, { "$ref": "#/components/schemas/ConnectorOptions_TriggerDev" }, { "$ref": "#/components/schemas/ConnectorOptions_Windmill" }, { "$ref": "#/components/schemas/ConnectorOptions_Zapier" } ], "discriminator": { "mapping": { "AgenticCommerceProtocol": "#/components/schemas/ConnectorOptions_AgenticCommerceProtocol", "CloseCRM": "#/components/schemas/ConnectorOptions_CloseCRM", "Custom": "#/components/schemas/ConnectorOptions_Custom", "CustomerIO": "#/components/schemas/ConnectorOptions_CustomerIO", "Discord": "#/components/schemas/ConnectorOptions_Discord", "Hubspot": "#/components/schemas/ConnectorOptions_Hubspot", "Inngest": "#/components/schemas/ConnectorOptions_Inngest", "Loops": "#/components/schemas/ConnectorOptions_Loops", "Otel": "#/components/schemas/ConnectorOptions_Otel", "Resend": "#/components/schemas/ConnectorOptions_Resend", "Salesforce": "#/components/schemas/ConnectorOptions_Salesforce", "Segment": "#/components/schemas/ConnectorOptions_Segment", "Sendgrid": "#/components/schemas/ConnectorOptions_Sendgrid", "Slack": "#/components/schemas/ConnectorOptions_Slack", "Teams": "#/components/schemas/ConnectorOptions_Teams", "TriggerDev": "#/components/schemas/ConnectorOptions_TriggerDev", "Windmill": "#/components/schemas/ConnectorOptions_Windmill", "Zapier": "#/components/schemas/ConnectorOptions_Zapier" }, "propertyName": "kind" } }, "ConnectorOut": { "type": "object", "required": [ "createdAt", "description", "id", "instructions", "kind", "name", "orgId", "productType", "transformation", "transformationUpdatedAt", "updatedAt" ], "properties": { "allowedEventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "type": "string" }, "featureFlags": { "default": null, "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "id": { "description": "The Connector's ID.", "type": "string", "maxLength": 34, "minLength": 34, "pattern": "^trtmpl_[A-Za-z0-9]{27}$", "example": "trtmpl_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "instructions": { "type": "string" }, "kind": { "$ref": "#/components/schemas/ConnectorKind" }, "logo": { "type": "string", "format": "uri", "nullable": true }, "name": { "type": "string" }, "orgId": { "description": "The Environment's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^org_[A-Za-z0-9]{27}$", "example": "org_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "productType": { "$ref": "#/components/schemas/ConnectorProduct" }, "transformation": { "type": "string" }, "transformationUpdatedAt": { "type": "string", "format": "date-time" }, "uid": { "description": "The Connector's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ConnectorPatch": { "type": "object", "properties": { "allowedEventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "description": { "type": "string" }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "instructions": { "type": "string" }, "kind": { "$ref": "#/components/schemas/ConnectorKind" }, "logo": { "type": "string", "format": "uri", "nullable": true }, "name": { "type": "string" }, "transformation": { "type": "string", "maxLength": 51200, "minLength": 10 } } }, "ConnectorProduct": { "type": "string", "enum": [ "Dispatch", "Stream" ] }, "ConnectorUpdate": { "type": "object", "required": [ "transformation" ], "properties": { "allowedEventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "Example connector description" }, "featureFlags": { "default": null, "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "instructions": { "default": "", "type": "string", "example": "Markdown-formatted instructions" }, "kind": { "default": "Custom", "$ref": "#/components/schemas/ConnectorKind", "example": "Slack" }, "logo": { "type": "string", "format": "uri", "example": "https://example.com/logo.png", "nullable": true }, "name": { "default": "", "type": "string", "example": "My first connector" }, "transformation": { "type": "string", "maxLength": 51200, "minLength": 10, "example": "function handler(webhook) { /* ... */ }" } } }, "CountAppParams": { "type": "object", "properties": { "exclude_svix_play": { "description": "Exclude endpoints that point to a play.svix.com url from the count", "default": true, "type": "boolean" } } }, "CountOut": { "type": "object", "required": [ "approximated", "count" ], "properties": { "approximated": { "description": "There's a ceiling to how many attempts we count. When the limit is reached, this will be `true` to indicate the actual count is higher than given.", "type": "boolean" }, "count": { "description": "The count of attempts matching the query.", "type": "integer", "format": "uint64", "minimum": 0.0 } } }, "CreateStreamEventsIn": { "type": "object", "required": [ "events" ], "properties": { "events": { "type": "array", "items": { "$ref": "#/components/schemas/EventIn" }, "example": [ { "eventType": "user.signup", "payload": "{\"email\":\"test@example.com\",\"username\":\"test_user\"}" } ] }, "stream": { "description": "Optionally creates a new Stream alongside the events.\n\nIf the stream id or uid that is used in the path already exists, this argument is ignored.", "$ref": "#/components/schemas/StreamIn", "nullable": true } } }, "CreateStreamEventsOut": { "type": "object" }, "CreateTokenIn": { "type": "object", "required": [ "name" ], "properties": { "expiry": { "description": "How long the token will be valid for, in seconds.", "type": "integer", "format": "uint64", "minimum": 0.0, "nullable": true }, "name": { "description": "The name of the token.", "type": "string" } } }, "CronConfig": { "type": "object", "required": [ "payload", "schedule" ], "properties": { "contentType": { "description": "Override the default content-type.\n\nRecommended if the payload is not JSON.", "type": "string", "nullable": true }, "payload": { "type": "string" }, "schedule": { "type": "string" } } }, "CustomColorPalette": { "type": "object", "properties": { "backgroundHover": { "type": "string", "format": "color", "nullable": true }, "backgroundPrimary": { "type": "string", "format": "color", "nullable": true }, "backgroundSecondary": { "type": "string", "format": "color", "nullable": true }, "borderPrimary": { "type": "string", "format": "color", "nullable": true }, "buttonPrimary": { "type": "string", "format": "color", "nullable": true }, "interactiveAccent": { "type": "string", "format": "color", "nullable": true }, "navigationAccent": { "type": "string", "format": "color", "nullable": true }, "primary": { "type": "string", "format": "color", "nullable": true }, "textDanger": { "type": "string", "format": "color", "nullable": true }, "textPrimary": { "type": "string", "format": "color", "nullable": true }, "textSecondary": { "type": "string", "format": "color", "nullable": true } } }, "CustomConnectorOptions": { "type": "object", "properties": { "authenticationMethod": { "$ref": "#/components/schemas/ConnectorAuthenticationMethod", "nullable": true }, "defaultUrl": { "type": "string", "format": "uri", "nullable": true } } }, "CustomStringsOverride": { "type": "object", "properties": { "channelsHelp": { "type": "string", "nullable": true }, "channelsMany": { "type": "string", "nullable": true }, "channelsOne": { "type": "string", "nullable": true } } }, "CustomThemeOverride": { "type": "object", "properties": { "borderRadius": { "$ref": "#/components/schemas/BorderRadiusConfig", "nullable": true }, "fontSize": { "$ref": "#/components/schemas/FontSizeConfig", "nullable": true } } }, "DashboardAccessOut": { "type": "object", "required": [ "token", "url" ], "properties": { "token": { "type": "string", "example": "appsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://app.svix.com/login#key=eyJhcHBJZCI6ICJhcHBfMXRSdFl" } } }, "Data": { "anyOf": [ { "type": "object", "required": [ "messages_sent" ], "properties": { "cur_batch_start": { "type": "string", "format": "date-time", "nullable": true }, "endp_id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "nullable": true }, "messages_sent": { "type": "integer", "format": "uint", "minimum": 0.0 }, "since": { "type": "string", "format": "date-time", "nullable": true }, "until": { "type": "string", "format": "date-time", "nullable": true } } }, { "type": "object", "required": [ "messages_sent" ], "properties": { "cur_batch_start": { "type": "string", "format": "date-time", "nullable": true }, "endp_id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "nullable": true }, "messages_sent": { "type": "integer", "format": "uint", "minimum": 0.0 }, "since": { "type": "string", "format": "date-time", "nullable": true }, "until": { "type": "string", "format": "date-time", "nullable": true } } }, { "type": "object", "required": [ "app_stats" ], "properties": { "app_stats": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationStatsOut" } } } }, { "type": "object", "required": [ "messages_created", "messages_failed" ], "properties": { "messages_created": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationMessageIdPair" } }, "messages_failed": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationMessageFailure" } } } }, { "type": "object", "required": [ "event_types" ], "properties": { "event_types": { "type": "array", "items": { "$ref": "#/components/schemas/AggregatedEventTypes" } } } }, { "type": "object", "required": [ "messages_purged" ], "properties": { "messages_purged": { "type": "integer", "format": "uint", "minimum": 0.0 } } }, { "type": "object", "required": [ "messages_sent" ], "properties": { "cur_batch_start": { "type": "string", "format": "date-time", "nullable": true }, "endp_id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "nullable": true }, "messages_sent": { "type": "integer", "format": "uint", "minimum": 0.0 }, "since": { "type": "string", "format": "date-time", "nullable": true }, "until": { "type": "string", "format": "date-time", "nullable": true } } } ] }, "DocusignConfig": { "type": "object", "properties": { "secret": { "type": "string", "nullable": true } } }, "DocusignConfigOut": { "type": "object" }, "Duration": { "type": "object", "required": [ "nanos", "secs" ], "properties": { "nanos": { "type": "integer", "format": "uint32", "minimum": 0.0 }, "secs": { "type": "integer", "format": "uint64", "minimum": 0.0 } } }, "EasypostConfig": { "type": "object", "properties": { "secret": { "type": "string", "nullable": true } } }, "EasypostConfigOut": { "type": "object" }, "EmptyResponse": { "type": "object" }, "EndpointCreatedEvent": { "description": "Sent when an endpoint is created.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/EndpointCreatedEventData" }, "type": { "default": "endpoint.created", "type": "string", "enum": [ "endpoint.created" ] } } }, "EndpointCreatedEventData": { "description": "Sent when an endpoint is created, updated, or deleted", "type": "object", "required": [ "appId", "endpointId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "EndpointDeletedEvent": { "description": "Sent when an endpoint is deleted.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/EndpointDeletedEventData" }, "type": { "default": "endpoint.deleted", "type": "string", "enum": [ "endpoint.deleted" ] } } }, "EndpointDeletedEventData": { "description": "Sent when an endpoint is created, updated, or deleted", "type": "object", "required": [ "appId", "endpointId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "EndpointDisabledEvent": { "description": "Sent when an endpoint has been automatically disabled after continuous failures, or manually via an API call.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/EndpointDisabledEventData" }, "type": { "default": "endpoint.disabled", "type": "string", "enum": [ "endpoint.disabled" ] } } }, "EndpointDisabledEventData": { "description": "Sent when an endpoint has been automatically disabled after continuous failures, or manually via an API call.", "type": "object", "required": [ "appId", "endpointId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "failSince": { "type": "string", "format": "date-time", "nullable": true }, "trigger": { "default": "automatic", "$ref": "#/components/schemas/EndpointDisabledTrigger" } } }, "EndpointDisabledTrigger": { "type": "string", "enum": [ "manual", "automatic" ] }, "EndpointEnabledEvent": { "description": "Sent when an endpoint has been enabled.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/EndpointEnabledEventData" }, "type": { "default": "endpoint.enabled", "type": "string", "enum": [ "endpoint.enabled" ] } } }, "EndpointEnabledEventData": { "description": "Sent when an endpoint has been enabled.", "type": "object", "required": [ "appId", "endpointId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "EndpointHeadersIn": { "type": "object", "required": [ "headers" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } } } }, "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.", "type": "object", "required": [ "headers", "sensitive" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } }, "sensitive": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "example": [ "Authorization" ] } } }, "EndpointHeadersPatchIn": { "type": "object", "required": [ "headers" ], "properties": { "deleteHeaders": { "description": "A list of headers be be removed", "default": [], "type": "array", "items": { "type": "string" } }, "headers": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "example": { "X-Example": "123", "X-Foobar": "Bar" } } } }, "EndpointIn": { "type": "object", "required": [ "url" ], "properties": { "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" }, "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "EndpointMessageOut": { "description": "A model containing information on a given message plus additional fields on the last attempt for that message.", "type": "object", "required": [ "eventType", "id", "payload", "status", "statusText", "timestamp" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "deliverAt": { "type": "string", "format": "date-time", "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "id": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "nextAttempt": { "type": "string", "format": "date-time", "nullable": true }, "payload": { "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "status": { "$ref": "#/components/schemas/MessageStatus" }, "statusText": { "$ref": "#/components/schemas/MessageStatusText" }, "tags": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "timestamp": { "type": "string", "format": "date-time" } } }, "EndpointMtlsConfigIn": { "type": "object", "required": [ "identity" ], "properties": { "identity": { "description": "A PEM encoded private key and X.509 certificate to identify the webhook sender.", "type": "string" } } }, "EndpointMtlsConfigOut": { "type": "object" }, "EndpointMtlsOut": { "type": "object", "required": [ "enabled" ], "properties": { "config": { "$ref": "#/components/schemas/EndpointMtlsConfigOut", "nullable": true }, "enabled": { "type": "boolean" } } }, "EndpointOauthConfigIn": { "type": "object", "required": [ "authMethod", "clientId", "grantType", "tokenUrl" ], "properties": { "authMethod": { "$ref": "#/components/schemas/Oauth2AuthMethodInOut" }, "clientId": { "description": "The client ID. Required for all authentication types.", "type": "string" }, "clientSecret": { "description": "Optional client secret. This is only used for `clientSecretBasic` and `clientSecretPost`.\n\nFor `clientSecretBasic`, the secret will be appended to the `Authorization` header. For `clientSecretPost`, this will be added to the body in a `client_secret` parameter.", "type": "string", "nullable": true }, "extraHeaders": { "description": "Optional headers added to the token request.", "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "extraParams": { "description": "Extra parameters added to the request body as key-value pairs.", "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "grantType": { "description": "The OAuth grant type.", "$ref": "#/components/schemas/Oauth2GrantTypeInOut" }, "jwtParams": { "description": "Optional JWT parameters. Only required for `clientSecretJwt`", "$ref": "#/components/schemas/ClientSecretJwtParamsIn", "nullable": true }, "refreshToken": { "description": "For `refreshToken` grant type.", "type": "string", "nullable": true }, "scopes": { "description": "Optional OAuth scopes added to the request body.", "type": "array", "items": { "type": "string" }, "nullable": true }, "tokenUrl": { "description": "The URL of the authorization server.", "type": "string", "format": "uri" } } }, "EndpointOauthConfigOut": { "type": "object", "required": [ "authMethod", "clientId", "grantType", "tokenUrl" ], "properties": { "authMethod": { "$ref": "#/components/schemas/Oauth2AuthMethodInOut" }, "clientId": { "type": "string" }, "extraHeaders": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "extraParams": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "grantType": { "$ref": "#/components/schemas/Oauth2GrantTypeInOut" }, "scopes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "tokenUrl": { "type": "string" } } }, "EndpointOauthOut": { "type": "object", "required": [ "enabled" ], "properties": { "config": { "$ref": "#/components/schemas/EndpointOauthConfigOut", "nullable": true }, "enabled": { "type": "boolean" } } }, "EndpointOut": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "updatedAt", "url", "version" ], "properties": { "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" }, "version": { "deprecated": true, "type": "integer", "format": "int32", "minimum": 1.0, "example": 1 } } }, "EndpointPatch": { "type": "object", "properties": { "channels": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "description": { "type": "string" }, "disabled": { "type": "boolean" }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "uniqueItems": true, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "url": { "type": "string", "format": "uri" }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "EndpointRateLimitStatus": { "type": "string", "enum": [ "Ok", "RateLimited" ] }, "EndpointRateLimitStatusOut": { "type": "object", "required": [ "status" ], "properties": { "status": { "$ref": "#/components/schemas/EndpointRateLimitStatus" }, "throttledSince": { "description": "When throttling started for this endpoint, if currently throttled.", "type": "string", "format": "date-time", "nullable": true } } }, "EndpointSecretOut": { "type": "object", "required": [ "key" ], "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD" } } }, "EndpointSecretRotateIn": { "type": "object", "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "default": null, "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true } } }, "EndpointServerCaIn": { "type": "object", "properties": { "cert": { "description": "A PEM encoded X.509 certificate used to verify the webhook receiver's certificate.\n\nSet to `null` to use standard CAs.", "type": "string", "nullable": true } } }, "EndpointServerCaOut": { "type": "object", "properties": { "cert": { "description": "A PEM encoded X.509 certificate used to verify the webhook receiver's certificate.\n\nIf this is `null`, standard CAs are in use.", "type": "string", "nullable": true } } }, "EndpointStats": { "type": "object", "required": [ "canceled", "fail", "pending", "sending", "success" ], "properties": { "canceled": { "type": "integer", "format": "int64" }, "fail": { "type": "integer", "format": "int64" }, "pending": { "type": "integer", "format": "int64" }, "sending": { "type": "integer", "format": "int64" }, "success": { "type": "integer", "format": "int64" } } }, "EndpointTransformationOut": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10, "nullable": true }, "enabled": { "default": false, "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time", "nullable": true }, "variables": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } } }, "EndpointTransformationPatch": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10, "example": "function handler(webhook) { /* ... */ }", "nullable": true }, "enabled": { "type": "boolean" }, "variables": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } } }, "EndpointUpdate": { "type": "object", "required": [ "url" ], "properties": { "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "EndpointUpdatedEvent": { "description": "Sent when an endpoint is updated.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/EndpointUpdatedEventData" }, "type": { "default": "endpoint.updated", "type": "string", "enum": [ "endpoint.updated" ] } } }, "EndpointUpdatedEventData": { "description": "Sent when an endpoint is created, updated, or deleted", "type": "object", "required": [ "appId", "endpointId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "EnvironmentIn": { "type": "object", "properties": { "connectors": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectorIn" }, "nullable": true }, "eventTypes": { "type": "array", "items": { "$ref": "#/components/schemas/EventTypeIn" }, "nullable": true }, "settings": { "type": "object", "nullable": true } } }, "EnvironmentModelIn": { "type": "object", "required": [ "name", "type" ], "properties": { "name": { "description": "Environment name for human consumption.", "type": "string", "maxLength": 255, "minLength": 1, "example": "My environment" }, "type": { "$ref": "#/components/schemas/EnvironmentType", "example": "development" } } }, "EnvironmentModelOut": { "type": "object", "required": [ "createdAt", "id", "name", "region", "type", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Environment's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^org_[A-Za-z0-9]{27}$", "example": "org_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "name": { "type": "string" }, "region": { "$ref": "#/components/schemas/EnvironmentRegion" }, "type": { "$ref": "#/components/schemas/EnvironmentType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "EnvironmentModelUpdate": { "type": "object", "required": [ "name" ], "properties": { "name": { "description": "Environment name for human consumption.", "type": "string", "maxLength": 255, "minLength": 1, "example": "My environment" } } }, "EnvironmentOut": { "type": "object", "required": [ "connectors", "createdAt", "eventTypes", "settings" ], "properties": { "connectors": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectorOut" } }, "createdAt": { "type": "string", "format": "date-time" }, "eventTypes": { "type": "array", "items": { "$ref": "#/components/schemas/EventTypeOut" } }, "settings": { "type": "object", "nullable": true }, "version": { "default": 1, "type": "integer", "format": "int" } } }, "EnvironmentRegion": { "type": "string", "enum": [ "eu", "us", "au", "ca", "self-hosted" ] }, "EnvironmentSettingsOut": { "type": "object", "properties": { "colorPaletteDark": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "colorPaletteLight": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "customColor": { "type": "string", "format": "color", "nullable": true }, "customFontFamily": { "type": "string", "pattern": "^[a-zA-Z0-9\\-_ ]+$", "example": "Open Sans", "nullable": true }, "customFontFamilyUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customLogoUrl": { "description": "Deprecated, use `logoUrl` instead.", "deprecated": true, "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customStringsOverride": { "$ref": "#/components/schemas/CustomStringsOverride", "nullable": true }, "customThemeOverride": { "$ref": "#/components/schemas/CustomThemeOverride", "nullable": true }, "displayName": { "type": "string", "nullable": true }, "enableChannels": { "default": false, "type": "boolean" }, "enableEndpointMtlsConfig": { "default": false, "type": "boolean" }, "enableEndpointOauthConfig": { "default": false, "type": "boolean" }, "enableIntegrationManagement": { "default": false, "type": "boolean" }, "enableMessageStream": { "default": false, "type": "boolean" }, "enableMessageTags": { "default": false, "type": "boolean" }, "enableTransformations": { "default": false, "type": "boolean" }, "logoUrl": { "type": "string", "format": "uri", "nullable": true }, "showFeatureTooltips": { "default": false, "type": "boolean" }, "showSvixBrandFooter": { "default": false, "type": "boolean" }, "showUseSvixPlay": { "default": true, "type": "boolean" }, "wipeSuccessfulPayload": { "default": false, "type": "boolean" } } }, "EnvironmentType": { "type": "string", "enum": [ "development", "production" ] }, "EventExampleIn": { "type": "object", "required": [ "eventType" ], "properties": { "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "exampleIndex": { "description": "If the event type schema contains an array of examples, chooses which one to send.\n\nDefaults to the first example. Ignored if the schema doesn't contain an array of examples.", "default": 0, "type": "integer", "format": "uint", "minimum": 0.0 } } }, "EventIn": { "type": "object", "required": [ "eventType", "payload" ], "properties": { "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "payload": { "type": "string" } } }, "EventOut": { "type": "object", "required": [ "eventType", "payload", "timestamp" ], "properties": { "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "payload": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" } } }, "EventStreamOut": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EventOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string" } } }, "EventTypeFromOpenApi": { "type": "object", "required": [ "deprecated", "description", "name" ], "properties": { "deprecated": { "type": "boolean" }, "description": { "type": "string" }, "featureFlag": { "description": "Deprecated, use `featureFlags` instead.", "deprecated": true, "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "nullable": true }, "groupName": { "description": "The event type group's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user", "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "schemas": { "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 } } }, "EventTypeImportOpenApiIn": { "description": "Import a list of event types from webhooks defined in an OpenAPI spec.\n\nThe OpenAPI spec can be specified as either `spec` given the spec as a JSON object, or as `specRaw` (a `string`) which will be parsed as YAML or JSON by the server. Sending neither or both is invalid, resulting in a `400` **Bad Request**.", "type": "object", "properties": { "dryRun": { "description": "If `true`, return the event types that would be modified without actually modifying them.", "default": false, "type": "boolean" }, "replaceAll": { "description": "If `true`, all existing event types that are not in the spec will be archived.", "default": false, "type": "boolean" }, "spec": { "description": "A pre-parsed JSON spec.", "type": "object", "example": { "info": { "title": "Webhook Example", "version": "1.0.0" }, "openapi": "3.1.0", "webhooks": { "pet.new": { "post": { "requestBody": { "content": { "application/json": { "schema": { "properties": { "id": { "format": "int64", "type": "integer" }, "name": { "type": "string" }, "tag": { "type": "string" } }, "required": [ "id", "name" ] } } }, "description": "Information about a new pet in the system" }, "responses": { "200": { "description": "Return a 200 status to indicate that the data was received successfully" } } } } } }, "nullable": true }, "specRaw": { "description": "A string, parsed by the server as YAML or JSON.", "type": "string", "example": "\n# Both YAML and JSON are supported\nopenapi: 3.1.0\ninfo:\n title: Webhook Example\n version: 1.0.0\n# Since OAS 3.1.0 the paths element isn't necessary. Now a valid OpenAPI Document can describe only paths, webhooks, or even only reusable components\nwebhooks:\n # Each webhook needs a name\n \"pet.new\":\n # This is a Path Item Object, the only difference is that the request is initiated by the API provider\n post:\n requestBody:\n description: Information about a new pet in the system\n content:\n application/json:\n schema:\n $ref: \"#/components/schemas/Pet\"\n responses:\n \"200\":\n description: Return a 200 status to indicate that the data was received successfully\n\ncomponents:\n schemas:\n Pet:\n required:\n - id\n - name\n properties:\n id:\n type: integer\n format: int64\n name:\n type: string\n tag:\n type: string\n", "nullable": true } } }, "EventTypeImportOpenApiOut": { "type": "object", "required": [ "data" ], "properties": { "data": { "$ref": "#/components/schemas/EventTypeImportOpenApiOutData" } } }, "EventTypeImportOpenApiOutData": { "type": "object", "required": [ "modified" ], "properties": { "modified": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "to_modify": { "type": "array", "items": { "$ref": "#/components/schemas/EventTypeFromOpenApi" }, "nullable": true } } }, "EventTypeIn": { "type": "object", "required": [ "description", "name" ], "properties": { "archived": { "default": false, "type": "boolean", "example": false }, "deprecated": { "default": false, "type": "boolean" }, "description": { "type": "string", "example": "A user has signed up" }, "featureFlag": { "description": "Deprecated, use `featureFlags` instead.", "default": null, "deprecated": true, "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true }, "featureFlags": { "default": null, "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "minItems": 1, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "groupName": { "description": "The event type group's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user", "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "schemas": { "description": "The schema for the event type for a specific version as a JSON schema.", "type": "object", "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 } } }, "EventTypeOut": { "type": "object", "required": [ "createdAt", "deprecated", "description", "name", "updatedAt" ], "properties": { "archived": { "default": false, "type": "boolean", "example": false }, "createdAt": { "type": "string", "format": "date-time" }, "deprecated": { "type": "boolean" }, "description": { "type": "string", "example": "A user has signed up" }, "featureFlag": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "groupName": { "description": "The event type group's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user", "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "schemas": { "description": "The schema for the event type for a specific version as a JSON schema.", "type": "object", "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 }, "updatedAt": { "type": "string", "format": "date-time" } } }, "EventTypePatch": { "type": "object", "properties": { "archived": { "type": "boolean" }, "deprecated": { "type": "boolean" }, "description": { "type": "string" }, "featureFlag": { "description": "Deprecated, use `featureFlags` instead.", "deprecated": true, "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "minItems": 1, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "groupName": { "description": "The event type group's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user", "nullable": true }, "schemas": { "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 } } }, "EventTypeUpdate": { "type": "object", "required": [ "description" ], "properties": { "archived": { "default": false, "type": "boolean", "example": false }, "deprecated": { "default": false, "type": "boolean" }, "description": { "type": "string", "example": "A user has signed up" }, "featureFlag": { "description": "Deprecated, use `featureFlags` instead.", "default": null, "deprecated": true, "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "minItems": 1, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "groupName": { "description": "The event type group's name", "default": null, "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user", "nullable": true }, "schemas": { "description": "The schema for the event type for a specific version as a JSON schema.", "type": "object", "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 } } }, "ExportEventTypeOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ExpungeAllContentsOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "FontSizeConfig": { "type": "object", "properties": { "base": { "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true } } }, "GenerateIn": { "type": "object", "required": [ "prompt" ], "properties": { "prompt": { "type": "string" } } }, "GenerateOut": { "type": "object", "required": [ "choices", "created", "id", "model" ], "properties": { "choices": { "type": "array", "items": { "$ref": "#/components/schemas/CompletionChoice" } }, "created": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, "model": { "type": "string" } } }, "GithubConfig": { "type": "object", "properties": { "secret": { "type": "string", "nullable": true } } }, "GithubConfigOut": { "type": "object" }, "GlobalApiTokenCensoredOut": { "type": "object", "required": [ "censoredToken", "createdAt", "id" ], "properties": { "censoredToken": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true }, "id": { "type": "string" }, "name": { "type": "string", "nullable": true }, "scopes": { "type": "array", "items": { "type": "string" }, "nullable": true } } }, "GoogleCloudStorageConfig": { "description": "Configuration for a Google Cloud Storage sink.\n\nWrite stream events into the named bucket using the supplied Google Cloud credentials.", "type": "object", "required": [ "bucket", "credentials" ], "properties": { "bucket": { "type": "string" }, "credentials": { "description": "Google Cloud Credentials JSON Object as a string.", "type": "string" } } }, "GoogleCloudStoragePatchConfig": { "type": "object", "properties": { "bucket": { "type": "string" }, "credentials": { "type": "string" } } }, "HTTPValidationError": { "type": "object", "required": [ "detail" ], "properties": { "detail": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationError" } } } }, "HttpAttemptTimes": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "type": "string", "format": "date-time" }, "start": { "type": "string", "format": "date-time" } } }, "HttpErrorOut": { "title": "HttpError", "type": "object", "required": [ "code", "detail" ], "properties": { "code": { "type": "string" }, "detail": { "type": "string" } } }, "HttpPatchConfig": { "type": "object", "properties": { "url": { "type": "string", "format": "uri" } } }, "HttpSigningConfigIn": { "type": "object", "required": [ "key", "scheme" ], "properties": { "key": { "description": "A PKCS#8 PEM-encoded RSA private key", "type": "string" }, "scheme": { "description": "What sort of HTTP signing to perform", "$ref": "#/components/schemas/HttpSigningScheme" } } }, "HttpSigningConfigOut": { "type": "object", "properties": { "scheme": { "$ref": "#/components/schemas/HttpSigningScheme", "nullable": true } } }, "HttpSigningScheme": { "type": "string", "enum": [ "Bbva" ] }, "HttpSinkHeadersPatchIn": { "type": "object", "required": [ "headers" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "example": { "X-Example": "123", "X-Foobar": "Bar" } } } }, "HubspotConfig": { "type": "object", "properties": { "secret": { "type": "string", "nullable": true } } }, "HubspotConfigOut": { "type": "object" }, "HubspotOauthConfigIn": { "type": "object", "required": [ "refresh_token" ], "properties": { "refresh_token": { "type": "string" } } }, "InboundPathParams": { "type": "object", "required": [ "app_id", "inbound_token" ], "properties": { "app_id": { "description": "The Application's ID or UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier" }, "inbound_token": { "type": "string" } } }, "IncomingWebhookPayloadOut": { "type": "object", "properties": { "channel": { "type": "string", "nullable": true }, "error": { "type": "string", "nullable": true }, "incomingWebhookUrl": { "type": "string", "format": "uri", "nullable": true } } }, "IngestEndpointDisabledEvent": { "description": "Sent when an ingest endpoint has been automatically disabled after continuous failures, or manually via an API call.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/IngestEndpointDisabledEventData" }, "type": { "default": "ingest.endpoint.disabled", "type": "string", "enum": [ "ingest.endpoint.disabled" ] } } }, "IngestEndpointDisabledEventData": { "description": "Sent when an ingest endpoint has been automatically disabled after continuous failures, or manually via an API call.", "type": "object", "required": [ "endpointId", "sourceId" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "endpointUid": { "description": "The Endpoint's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "failSince": { "type": "string", "format": "date-time", "nullable": true }, "sourceId": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "trigger": { "default": "automatic", "$ref": "#/components/schemas/EndpointDisabledTrigger" } } }, "IngestEndpointHeadersIn": { "type": "object", "required": [ "headers" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } } } }, "IngestEndpointHeadersOut": { "type": "object", "required": [ "headers", "sensitive" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } }, "sensitive": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "example": [ "Authorization" ] } } }, "IngestEndpointIn": { "type": "object", "required": [ "url" ], "properties": { "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "IngestEndpointOut": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "updatedAt", "url" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "IngestEndpointSecretIn": { "type": "object", "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "default": null, "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true } } }, "IngestEndpointSecretOut": { "type": "object", "required": [ "key" ], "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD" } } }, "IngestEndpointTransformationOut": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10, "nullable": true }, "enabled": { "default": false, "type": "boolean" } } }, "IngestEndpointTransformationPatch": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10, "nullable": true }, "enabled": { "type": "boolean" } } }, "IngestEndpointUpdate": { "type": "object", "required": [ "url" ], "properties": { "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "IngestLogOut": { "type": "object", "required": [ "created_at", "error_text", "headers", "id", "payload", "source_id", "status_code", "updated_at" ], "properties": { "created_at": { "type": "string", "format": "date-time" }, "error_text": { "type": "string" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "id": { "description": "The ErrorLog's ID.", "type": "string", "maxLength": 25, "minLength": 24, "pattern": "^log[A-Za-z0-9]{21,22}$", "example": "log2yZwUhtgs5Ai8T9yRQJXA" }, "payload": { "type": "string" }, "source_id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "status_code": { "type": "integer", "format": "int16" }, "updated_at": { "type": "string", "format": "date-time" } } }, "IngestMessageAttemptExhaustedEvent": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/IngestMessageAttemptExhaustedEventData" }, "type": { "default": "ingest.message.attempt.exhausted", "type": "string", "enum": [ "ingest.message.attempt.exhausted" ] } } }, "IngestMessageAttemptExhaustedEventData": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"ingest.message.attempt.exhausted\" type, after it's failed four times as a \"ingest.message.attempt.failing\" event, or after it's recovered as a \"ingest.message.attempt.recovered\" event.", "type": "object", "required": [ "endpointId", "lastAttempt", "msgId", "sourceId" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "sourceId": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" } } }, "IngestMessageAttemptFailingEvent": { "description": "Sent after a message has been failing for a few times.\nIt's sent on the fourth failure. It complements `ingest.message.attempt.exhausted` which is sent after the last failure.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/IngestMessageAttemptFailingEventData" }, "type": { "default": "ingest.message.attempt.failing", "type": "string", "enum": [ "ingest.message.attempt.failing" ] } } }, "IngestMessageAttemptFailingEventData": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"ingest.message.attempt.exhausted\" type, after it's failed four times as a \"ingest.message.attempt.failing\" event, or after it's recovered as a \"ingest.message.attempt.recovered\" event.", "type": "object", "required": [ "endpointId", "lastAttempt", "msgId", "sourceId" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "sourceId": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" } } }, "IngestMessageAttemptRecoveredEvent": { "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/IngestMessageAttemptRecoveredEventData" }, "type": { "default": "ingest.message.attempt.recovered", "type": "string", "enum": [ "ingest.message.attempt.recovered" ] } } }, "IngestMessageAttemptRecoveredEventData": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted) as a \"ingest.message.attempt.exhausted\" type, after it's failed four times as a \"ingest.message.attempt.failing\" event, or after it's recovered as a \"ingest.message.attempt.recovered\" event.", "type": "object", "required": [ "endpointId", "lastAttempt", "msgId", "sourceId" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "sourceId": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" } } }, "IngestPathWithToken": { "type": "object", "required": [ "source_id", "token" ], "properties": { "source_id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "token": { "type": "string", "maxLength": 16, "minLength": 16, "pattern": "^[A-Za-z0-9]+$" } } }, "IngestResponse": { "description": "Some providers need to generate responses to incoming ingest requests.", "anyOf": [ { "type": "array", "items": [ { "description": "The IngestMessageUid's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^whk_[A-Za-z0-9]{27}$", "example": "whk_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" } ], "maxItems": 2, "minItems": 2 }, { "$ref": "#/components/schemas/ZoomCrcResponse" }, { "$ref": "#/components/schemas/SlackChallengeResponse" }, { "$ref": "#/components/schemas/AdobeSignResponse" }, { "type": "string" } ] }, "IngestSourceConsumerPortalAccessIn": { "type": "object", "properties": { "expiry": { "description": "How long the token will be valid for, in seconds.\n\nValid values are between 1 hour and 7 days. The default is 7 days.", "type": "integer", "format": "uint64", "maximum": 604800.0, "minimum": 3600.0, "nullable": true }, "readOnly": { "description": "Whether the app portal should be in read-only mode.", "type": "boolean", "nullable": true } } }, "IngestSourceIn": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/IngestSourceIn_generic-webhook" }, { "$ref": "#/components/schemas/IngestSourceIn_cron" }, { "$ref": "#/components/schemas/IngestSourceIn_adobe-sign" }, { "$ref": "#/components/schemas/IngestSourceIn_beehiiv" }, { "$ref": "#/components/schemas/IngestSourceIn_brex" }, { "$ref": "#/components/schemas/IngestSourceIn_checkbook" }, { "$ref": "#/components/schemas/IngestSourceIn_clerk" }, { "$ref": "#/components/schemas/IngestSourceIn_docusign" }, { "$ref": "#/components/schemas/IngestSourceIn_easypost" }, { "$ref": "#/components/schemas/IngestSourceIn_github" }, { "$ref": "#/components/schemas/IngestSourceIn_guesty" }, { "$ref": "#/components/schemas/IngestSourceIn_hubspot" }, { "$ref": "#/components/schemas/IngestSourceIn_incident-io" }, { "$ref": "#/components/schemas/IngestSourceIn_lithic" }, { "$ref": "#/components/schemas/IngestSourceIn_meta" }, { "$ref": "#/components/schemas/IngestSourceIn_nash" }, { "$ref": "#/components/schemas/IngestSourceIn_orum-io" }, { "$ref": "#/components/schemas/IngestSourceIn_panda-doc" }, { "$ref": "#/components/schemas/IngestSourceIn_port-io" }, { "$ref": "#/components/schemas/IngestSourceIn_pleo" }, { "$ref": "#/components/schemas/IngestSourceIn_psi-fi" }, { "$ref": "#/components/schemas/IngestSourceIn_replicate" }, { "$ref": "#/components/schemas/IngestSourceIn_resend" }, { "$ref": "#/components/schemas/IngestSourceIn_rutter" }, { "$ref": "#/components/schemas/IngestSourceIn_safebase" }, { "$ref": "#/components/schemas/IngestSourceIn_sardine" }, { "$ref": "#/components/schemas/IngestSourceIn_segment" }, { "$ref": "#/components/schemas/IngestSourceIn_shopify" }, { "$ref": "#/components/schemas/IngestSourceIn_slack" }, { "$ref": "#/components/schemas/IngestSourceIn_stripe" }, { "$ref": "#/components/schemas/IngestSourceIn_stych" }, { "$ref": "#/components/schemas/IngestSourceIn_svix" }, { "$ref": "#/components/schemas/IngestSourceIn_zoom" }, { "$ref": "#/components/schemas/IngestSourceIn_telnyx" }, { "$ref": "#/components/schemas/IngestSourceIn_vapi" }, { "$ref": "#/components/schemas/IngestSourceIn_open-ai" }, { "$ref": "#/components/schemas/IngestSourceIn_render" }, { "$ref": "#/components/schemas/IngestSourceIn_veriff" }, { "$ref": "#/components/schemas/IngestSourceIn_airwallex" }, { "$ref": "#/components/schemas/IngestSourceIn_vgs" } ], "required": [ "name" ], "properties": { "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } }, "discriminator": { "mapping": { "adobe-sign": "#/components/schemas/IngestSourceIn_adobe-sign", "airwallex": "#/components/schemas/IngestSourceIn_airwallex", "beehiiv": "#/components/schemas/IngestSourceIn_beehiiv", "brex": "#/components/schemas/IngestSourceIn_brex", "checkbook": "#/components/schemas/IngestSourceIn_checkbook", "clerk": "#/components/schemas/IngestSourceIn_clerk", "cron": "#/components/schemas/IngestSourceIn_cron", "docusign": "#/components/schemas/IngestSourceIn_docusign", "easypost": "#/components/schemas/IngestSourceIn_easypost", "generic-webhook": "#/components/schemas/IngestSourceIn_generic-webhook", "github": "#/components/schemas/IngestSourceIn_github", "guesty": "#/components/schemas/IngestSourceIn_guesty", "hubspot": "#/components/schemas/IngestSourceIn_hubspot", "incident-io": "#/components/schemas/IngestSourceIn_incident-io", "lithic": "#/components/schemas/IngestSourceIn_lithic", "meta": "#/components/schemas/IngestSourceIn_meta", "nash": "#/components/schemas/IngestSourceIn_nash", "open-ai": "#/components/schemas/IngestSourceIn_open-ai", "orum-io": "#/components/schemas/IngestSourceIn_orum-io", "panda-doc": "#/components/schemas/IngestSourceIn_panda-doc", "pleo": "#/components/schemas/IngestSourceIn_pleo", "port-io": "#/components/schemas/IngestSourceIn_port-io", "psi-fi": "#/components/schemas/IngestSourceIn_psi-fi", "render": "#/components/schemas/IngestSourceIn_render", "replicate": "#/components/schemas/IngestSourceIn_replicate", "resend": "#/components/schemas/IngestSourceIn_resend", "rutter": "#/components/schemas/IngestSourceIn_rutter", "safebase": "#/components/schemas/IngestSourceIn_safebase", "sardine": "#/components/schemas/IngestSourceIn_sardine", "segment": "#/components/schemas/IngestSourceIn_segment", "shopify": "#/components/schemas/IngestSourceIn_shopify", "slack": "#/components/schemas/IngestSourceIn_slack", "stripe": "#/components/schemas/IngestSourceIn_stripe", "stych": "#/components/schemas/IngestSourceIn_stych", "svix": "#/components/schemas/IngestSourceIn_svix", "telnyx": "#/components/schemas/IngestSourceIn_telnyx", "vapi": "#/components/schemas/IngestSourceIn_vapi", "veriff": "#/components/schemas/IngestSourceIn_veriff", "vgs": "#/components/schemas/IngestSourceIn_vgs", "zoom": "#/components/schemas/IngestSourceIn_zoom" }, "propertyName": "type" } }, "IngestSourceOut": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/IngestSourceOut_generic-webhook" }, { "$ref": "#/components/schemas/IngestSourceOut_cron" }, { "$ref": "#/components/schemas/IngestSourceOut_adobe-sign" }, { "$ref": "#/components/schemas/IngestSourceOut_beehiiv" }, { "$ref": "#/components/schemas/IngestSourceOut_brex" }, { "$ref": "#/components/schemas/IngestSourceOut_checkbook" }, { "$ref": "#/components/schemas/IngestSourceOut_clerk" }, { "$ref": "#/components/schemas/IngestSourceOut_docusign" }, { "$ref": "#/components/schemas/IngestSourceOut_easypost" }, { "$ref": "#/components/schemas/IngestSourceOut_github" }, { "$ref": "#/components/schemas/IngestSourceOut_guesty" }, { "$ref": "#/components/schemas/IngestSourceOut_hubspot" }, { "$ref": "#/components/schemas/IngestSourceOut_incident-io" }, { "$ref": "#/components/schemas/IngestSourceOut_lithic" }, { "$ref": "#/components/schemas/IngestSourceOut_meta" }, { "$ref": "#/components/schemas/IngestSourceOut_nash" }, { "$ref": "#/components/schemas/IngestSourceOut_orum-io" }, { "$ref": "#/components/schemas/IngestSourceOut_panda-doc" }, { "$ref": "#/components/schemas/IngestSourceOut_port-io" }, { "$ref": "#/components/schemas/IngestSourceOut_psi-fi" }, { "$ref": "#/components/schemas/IngestSourceOut_pleo" }, { "$ref": "#/components/schemas/IngestSourceOut_replicate" }, { "$ref": "#/components/schemas/IngestSourceOut_resend" }, { "$ref": "#/components/schemas/IngestSourceOut_rutter" }, { "$ref": "#/components/schemas/IngestSourceOut_safebase" }, { "$ref": "#/components/schemas/IngestSourceOut_sardine" }, { "$ref": "#/components/schemas/IngestSourceOut_segment" }, { "$ref": "#/components/schemas/IngestSourceOut_shopify" }, { "$ref": "#/components/schemas/IngestSourceOut_slack" }, { "$ref": "#/components/schemas/IngestSourceOut_stripe" }, { "$ref": "#/components/schemas/IngestSourceOut_stych" }, { "$ref": "#/components/schemas/IngestSourceOut_svix" }, { "$ref": "#/components/schemas/IngestSourceOut_zoom" }, { "$ref": "#/components/schemas/IngestSourceOut_telnyx" }, { "$ref": "#/components/schemas/IngestSourceOut_vapi" }, { "$ref": "#/components/schemas/IngestSourceOut_open-ai" }, { "$ref": "#/components/schemas/IngestSourceOut_render" }, { "$ref": "#/components/schemas/IngestSourceOut_veriff" }, { "$ref": "#/components/schemas/IngestSourceOut_airwallex" }, { "$ref": "#/components/schemas/IngestSourceOut_vgs" } ], "required": [ "createdAt", "id", "metadata", "name", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } }, "discriminator": { "mapping": { "adobe-sign": "#/components/schemas/IngestSourceOut_adobe-sign", "airwallex": "#/components/schemas/IngestSourceOut_airwallex", "beehiiv": "#/components/schemas/IngestSourceOut_beehiiv", "brex": "#/components/schemas/IngestSourceOut_brex", "checkbook": "#/components/schemas/IngestSourceOut_checkbook", "clerk": "#/components/schemas/IngestSourceOut_clerk", "cron": "#/components/schemas/IngestSourceOut_cron", "docusign": "#/components/schemas/IngestSourceOut_docusign", "easypost": "#/components/schemas/IngestSourceOut_easypost", "generic-webhook": "#/components/schemas/IngestSourceOut_generic-webhook", "github": "#/components/schemas/IngestSourceOut_github", "guesty": "#/components/schemas/IngestSourceOut_guesty", "hubspot": "#/components/schemas/IngestSourceOut_hubspot", "incident-io": "#/components/schemas/IngestSourceOut_incident-io", "lithic": "#/components/schemas/IngestSourceOut_lithic", "meta": "#/components/schemas/IngestSourceOut_meta", "nash": "#/components/schemas/IngestSourceOut_nash", "open-ai": "#/components/schemas/IngestSourceOut_open-ai", "orum-io": "#/components/schemas/IngestSourceOut_orum-io", "panda-doc": "#/components/schemas/IngestSourceOut_panda-doc", "pleo": "#/components/schemas/IngestSourceOut_pleo", "port-io": "#/components/schemas/IngestSourceOut_port-io", "psi-fi": "#/components/schemas/IngestSourceOut_psi-fi", "render": "#/components/schemas/IngestSourceOut_render", "replicate": "#/components/schemas/IngestSourceOut_replicate", "resend": "#/components/schemas/IngestSourceOut_resend", "rutter": "#/components/schemas/IngestSourceOut_rutter", "safebase": "#/components/schemas/IngestSourceOut_safebase", "sardine": "#/components/schemas/IngestSourceOut_sardine", "segment": "#/components/schemas/IngestSourceOut_segment", "shopify": "#/components/schemas/IngestSourceOut_shopify", "slack": "#/components/schemas/IngestSourceOut_slack", "stripe": "#/components/schemas/IngestSourceOut_stripe", "stych": "#/components/schemas/IngestSourceOut_stych", "svix": "#/components/schemas/IngestSourceOut_svix", "telnyx": "#/components/schemas/IngestSourceOut_telnyx", "vapi": "#/components/schemas/IngestSourceOut_vapi", "veriff": "#/components/schemas/IngestSourceOut_veriff", "vgs": "#/components/schemas/IngestSourceOut_vgs", "zoom": "#/components/schemas/IngestSourceOut_zoom" }, "propertyName": "type" } }, "IngestSourcePatch": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IntegrationIn": { "type": "object", "required": [ "name" ], "properties": { "featureFlags": { "description": "The set of feature flags the integration will have access to.", "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "maxItems": 25, "minItems": 1, "uniqueItems": true, "example": [] }, "name": { "type": "string", "example": "Example Integration" } } }, "IntegrationKeyOut": { "type": "object", "required": [ "key" ], "properties": { "key": { "type": "string", "example": "integsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O" } } }, "IntegrationOut": { "type": "object", "required": [ "createdAt", "id", "name", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "featureFlags": { "description": "The set of feature flags the integration has access to.", "default": [], "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "maxItems": 25, "minItems": 1, "uniqueItems": true, "example": [] }, "id": { "description": "The Integration's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^integ_[A-Za-z0-9]{27}$", "example": "integ_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "name": { "type": "string", "example": "Example Integration" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IntegrationUpdate": { "type": "object", "required": [ "name" ], "properties": { "featureFlags": { "description": "The set of feature flags the integration will have access to.", "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "maxItems": 25, "minItems": 1, "uniqueItems": true, "example": [] }, "name": { "type": "string", "example": "Example Integration" } } }, "LatestEventsOut": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EventOut" } } } }, "ListResponse_ActiveApplicationOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ActiveApplicationOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_ApiTokenCensoredOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ApiTokenCensoredOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_ApplicationOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_BackgroundTaskOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/BackgroundTaskOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_ConnectorOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectorOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_EndpointMessageOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EndpointMessageOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_EndpointOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EndpointOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_EnvironmentModelOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EnvironmentModelOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_EventTypeOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EventTypeOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_GlobalApiTokenCensoredOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/GlobalApiTokenCensoredOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_IngestEndpointOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IngestEndpointOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_IngestLogOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IngestLogOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_IngestSourceOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IngestSourceOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_IntegrationOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IntegrationOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_MessageAttemptEndpointOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttemptEndpointOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_MessageAttemptOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttemptOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_MessageEndpointOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageEndpointOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_MessageOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_OperationalWebhookEndpointOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/OperationalWebhookEndpointOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_SinkOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SinkOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_StreamEventTypeOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/StreamEventTypeOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_StreamOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/StreamOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "ListResponse_StreamSinkOut_": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/StreamSinkOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string", "example": "iterator", "nullable": true }, "prevIterator": { "type": "string", "example": "-iterator", "nullable": true } } }, "MessageAttemptEndpointOut": { "type": "object", "required": [ "endpointId", "id", "msgId", "response", "responseDurationMs", "responseStatusCode", "status", "statusText", "timestamp", "triggerType", "url" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "id": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "msg": { "$ref": "#/components/schemas/MessageOut", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "response": { "type": "string", "example": "{}" }, "responseDurationMs": { "description": "Response duration in milliseconds.", "type": "integer", "format": "int64" }, "responseStatusCode": { "type": "integer", "format": "int16", "example": 200 }, "status": { "$ref": "#/components/schemas/MessageStatus" }, "statusText": { "$ref": "#/components/schemas/MessageStatusText" }, "timestamp": { "type": "string", "format": "date-time" }, "triggerType": { "$ref": "#/components/schemas/MessageAttemptTriggerType" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "MessageAttemptExhaustedEvent": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/MessageAttemptExhaustedEventData" }, "type": { "default": "message.attempt.exhausted", "type": "string", "enum": [ "message.attempt.exhausted" ] } } }, "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.", "type": "object", "required": [ "appId", "endpointId", "lastAttempt", "msgId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" } } }, "MessageAttemptFailedData": { "type": "object", "required": [ "id", "responseStatusCode", "timestamp" ], "properties": { "id": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "responseStatusCode": { "type": "integer", "format": "int16" }, "timestamp": { "type": "string", "format": "date-time" } } }, "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.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/MessageAttemptFailingEventData" }, "type": { "default": "message.attempt.failing", "type": "string", "enum": [ "message.attempt.failing" ] } } }, "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.", "type": "object", "required": [ "appId", "endpointId", "lastAttempt", "msgId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" } } }, "MessageAttemptHeadersOut": { "type": "object", "required": [ "sensitive", "sentHeaders" ], "properties": { "responseHeaders": { "type": "array", "items": { "type": "array", "items": { "type": "string" }, "maxItems": 2, "minItems": 2 }, "nullable": true }, "sensitive": { "type": "array", "items": { "type": "string" }, "uniqueItems": true }, "sentHeaders": { "type": "object", "additionalProperties": { "type": "string" } } } }, "MessageAttemptLog": { "type": "object", "required": [ "appId", "attemptCount", "attemptEnd", "attemptId", "attemptStart", "endpointId", "msgCreated", "msgId", "orgId", "responseStatusCode", "status" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "attemptCount": { "type": "integer", "format": "uint16", "minimum": 0.0 }, "attemptEnd": { "type": "string", "format": "date-time" }, "attemptId": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "attemptStart": { "type": "string", "format": "date-time" }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup", "nullable": true }, "httpTimes": { "$ref": "#/components/schemas/HttpAttemptTimes", "nullable": true }, "msgCreated": { "type": "string", "format": "date-time" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "orgId": { "description": "The Environment's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^org_[A-Za-z0-9]{27}$", "example": "org_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "responseStatusCode": { "type": "integer", "format": "int16" }, "status": { "$ref": "#/components/schemas/MessageStatus" } } }, "MessageAttemptLogEvent": { "description": "Sent after message attempts are made. Contains metadata about message attempts and their results. In order to reduce the frequency of webhooks, these are sent in batches periodically.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttemptLog" } }, "type": { "default": "message.attempt.log", "type": "string", "enum": [ "message.attempt.log" ] } } }, "MessageAttemptOut": { "type": "object", "required": [ "endpointId", "id", "msgId", "response", "responseDurationMs", "responseStatusCode", "status", "statusText", "timestamp", "triggerType", "url" ], "properties": { "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "id": { "description": "The MessageAttempt's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^atmpt_[A-Za-z0-9]{27}$", "example": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "msg": { "$ref": "#/components/schemas/MessageOut", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "response": { "type": "string", "example": "{}" }, "responseDurationMs": { "description": "Response duration in milliseconds.", "type": "integer", "format": "int64" }, "responseStatusCode": { "type": "integer", "format": "int16", "example": 200 }, "status": { "$ref": "#/components/schemas/MessageStatus" }, "statusText": { "$ref": "#/components/schemas/MessageStatusText" }, "timestamp": { "type": "string", "format": "date-time" }, "triggerType": { "$ref": "#/components/schemas/MessageAttemptTriggerType" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "MessageAttemptRecoveredEvent": { "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "type": "object", "required": [ "data", "type" ], "properties": { "data": { "$ref": "#/components/schemas/MessageAttemptRecoveredEventData" }, "type": { "default": "message.attempt.recovered", "type": "string", "enum": [ "message.attempt.recovered" ] } } }, "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.", "type": "object", "required": [ "appId", "endpointId", "lastAttempt", "msgId" ], "properties": { "appId": { "description": "The Application's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "appUid": { "description": "The Application's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "endpointId": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "lastAttempt": { "$ref": "#/components/schemas/MessageAttemptFailedData" }, "msgEventId": { "description": "The Message's UID.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "msgId": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" } } }, "MessageAttemptTriggerType": { "title": "MessageAttemptTriggerType", "description": "The reason an attempt was made:\n\n- Scheduled = 0\n- Manual = 1", "type": "integer", "enum": [ 0, 1 ], "x-enum-varnames": [ "Scheduled", "Manual" ] }, "MessageBroadcastIn": { "type": "object", "required": [ "eventType", "payload" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by.", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "eventId": { "description": "Optional unique identifier for the message.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "payload": { "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "payloadRetentionHours": { "description": "Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`.", "default": null, "type": "integer", "format": "int64", "maximum": 2160.0, "minimum": 1.0, "nullable": true }, "payloadRetentionPeriod": { "description": "Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`.", "default": 90, "type": "integer", "format": "int64", "maximum": 90.0, "minimum": 1.0, "example": 90, "nullable": true } } }, "MessageBroadcastOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "MessageEndpointOut": { "type": "object", "required": [ "createdAt", "description", "id", "status", "statusText", "updatedAt", "url", "version" ], "properties": { "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "nextAttempt": { "type": "string", "format": "date-time", "nullable": true }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "status": { "$ref": "#/components/schemas/MessageStatus" }, "statusText": { "$ref": "#/components/schemas/MessageStatusText" }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "MessageEventsOut": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MessageOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string" } } }, "MessageIn": { "type": "object", "required": [ "eventType", "payload" ], "properties": { "application": { "description": "Optionally creates a new application alongside the message.\n\nIf the application id or uid that is used in the path already exists, this argument is ignored.", "$ref": "#/components/schemas/ApplicationIn", "nullable": true }, "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "deliverAt": { "description": "The date and time at which the message will be delivered.\n\nNote that this time is best-effort-only. Must be at least one minute and no more than 24 hours in the future.", "type": "string", "format": "date-time", "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "payload": { "description": "JSON payload to send as the request body of the webhook.\n\nWe also support sending non-JSON payloads. Please contact us for more information.", "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "payloadRetentionHours": { "description": "Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`.", "default": null, "type": "integer", "format": "int64", "maximum": 2160.0, "minimum": 1.0, "nullable": true }, "payloadRetentionPeriod": { "description": "Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`.", "default": 90, "type": "integer", "format": "int64", "maximum": 90.0, "minimum": 1.0, "example": 90, "nullable": true }, "tags": { "description": "List of free-form tags that can be filtered by when listing messages", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "maxItems": 5, "uniqueItems": true, "example": [ "my_tag", "other" ], "nullable": true }, "transformationsParams": { "description": "Extra parameters to pass to Transformations (for future use)", "type": "object", "nullable": true } } }, "MessageOut": { "type": "object", "required": [ "eventType", "id", "payload", "timestamp" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "deliverAt": { "type": "string", "format": "date-time", "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "id": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "payload": { "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "tags": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "timestamp": { "type": "string", "format": "date-time" } } }, "MessagePrecheckIn": { "type": "object", "required": [ "eventType" ], "properties": { "channels": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } } }, "MessagePrecheckOut": { "type": "object", "required": [ "active" ], "properties": { "active": { "description": "Whether there are any active endpoint that would get sent such a message.", "type": "boolean" } } }, "MessageRawPayloadOut": { "type": "object", "required": [ "payload" ], "properties": { "payload": { "type": "string", "example": "{\"email\":\"test@example.com\",\"type\":\"user.created\",\"username\":\"test_user\"}" } } }, "MessageStatus": { "title": "MessageStatus", "description": "The sending status of the message:\n\n- Success = 0\n- Pending = 1\n- Fail = 2\n- Sending = 3\n- Canceled = 4", "type": "integer", "enum": [ 0, 1, 2, 3, 4 ], "x-enum-varnames": [ "Success", "Pending", "Fail", "Sending", "Canceled" ] }, "MessageStatusText": { "type": "string", "enum": [ "success", "pending", "fail", "sending", "canceled" ] }, "MetaConfig": { "type": "object", "required": [ "secret", "verifyToken" ], "properties": { "secret": { "type": "string" }, "verifyToken": { "type": "string" } } }, "MetaConfigOut": { "type": "object" }, "OAuthPayloadIn": { "type": "object", "required": [ "code", "redirectUri" ], "properties": { "code": { "type": "string" }, "redirectUri": { "type": "string" } } }, "OAuthPayloadOut": { "type": "object", "properties": { "accessToken": { "type": "string", "nullable": true }, "error": { "type": "string", "nullable": true }, "refreshToken": { "type": "string", "nullable": true } } }, "Oauth2AuthMethodInOut": { "description": "The method used for authenticating to the OAuth authorization server.\n\n`clientSecretJwt` will construct a JWT used for authentication with the oauth authorization server. This method is less commonly used and may not be supported by all oauth providers. `clientSecretBasic` will authenticate to the oauth authorization server using an `Authorization` header with the client secret as the value. This is the most common means of authentication. `clientSecretPost` will authenticate to the oauth authorization server by passing the client secret in a `client_secret` field in the request body. This method may not be supported by all oauth providers, and in general `clientSecretBasic` should be preferred.", "type": "string", "enum": [ "clientSecretJwt", "clientSecretBasic", "clientSecretPost" ] }, "Oauth2GrantTypeInOut": { "type": "string", "enum": [ "clientCredentials", "refreshToken" ] }, "OauthJwsSigningAlgorithm": { "type": "string", "enum": [ "RS256" ] }, "OneTimeTokenIn": { "type": "object", "required": [ "oneTimeToken" ], "properties": { "oneTimeToken": { "type": "string" } } }, "OneTimeTokenOut": { "type": "object", "required": [ "capabilities", "token" ], "properties": { "capabilities": { "type": "array", "items": { "type": "string" } }, "token": { "type": "string" } } }, "OperationalWebhookEndpointHeadersIn": { "type": "object", "required": [ "headers" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } } } }, "OperationalWebhookEndpointHeadersOut": { "type": "object", "required": [ "headers", "sensitive" ], "properties": { "headers": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "X-Example": "123", "X-Foobar": "Bar" } }, "sensitive": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "example": [ "Authorization" ] } } }, "OperationalWebhookEndpointIn": { "type": "object", "required": [ "url" ], "properties": { "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "message.attempt.failing" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "OperationalWebhookEndpointOut": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "updatedAt", "url" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "message.attempt.failing" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "OperationalWebhookEndpointSecretIn": { "type": "object", "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "default": null, "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true } } }, "OperationalWebhookEndpointSecretOut": { "type": "object", "required": [ "key" ], "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD" } } }, "OperationalWebhookEndpointUpdate": { "type": "object", "required": [ "url" ], "properties": { "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "message.attempt.failing" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "example": "https://example.com/webhook/" } } }, "Ordering": { "description": "Defines the ordering in a listing of results.", "type": "string", "enum": [ "ascending", "descending" ] }, "OrumIoConfig": { "type": "object", "required": [ "publicKey" ], "properties": { "publicKey": { "type": "string" } } }, "OrumIoConfigOut": { "type": "object", "required": [ "publicKey" ], "properties": { "publicKey": { "type": "string" } } }, "OtelConfig": { "type": "object", "required": [ "url" ], "properties": { "additionalHeaders": { "default": null, "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "url": { "type": "string" } } }, "OtelConfigOut": { "type": "object", "required": [ "svixManaged" ], "properties": { "additionalHeaders": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "svixManaged": { "type": "boolean" }, "url": { "type": "string", "nullable": true } } }, "OtelTracingPatchConfig": { "type": "object", "properties": { "url": { "type": "string", "format": "uri" } } }, "PandaDocConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "PandaDocConfigOut": { "type": "object" }, "PollerV2CommitIn": { "type": "object", "required": [ "offset" ], "properties": { "offset": { "type": "integer", "format": "uint64", "minimum": 0.0 } } }, "PollerV2MessageOut": { "description": "The MessageOut equivalent of polling endpoint", "type": "object", "required": [ "eventType", "id", "offset", "payload", "timestamp" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "deliverAt": { "type": "string", "format": "date-time", "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "id": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "offset": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "payload": { "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "tags": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "timestamp": { "type": "string", "format": "date-time" } } }, "PollerV2PollOut": { "type": "object", "required": [ "data", "done" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/PollerV2MessageOut" } }, "done": { "type": "boolean" } } }, "PollingEndpointConsumerSeekIn": { "type": "object", "required": [ "after" ], "properties": { "after": { "type": "string", "format": "date-time", "example": "2025-04-21T11:20:34Z" } } }, "PollingEndpointConsumerSeekOut": { "type": "object", "required": [ "iterator" ], "properties": { "iterator": { "type": "string" } } }, "PollingEndpointMessageOut": { "description": "The MessageOut equivalent of polling endpoint", "type": "object", "required": [ "eventType", "id", "payload", "timestamp" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "deliverAt": { "type": "string", "format": "date-time", "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "id": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "payload": { "type": "object", "example": { "email": "test@example.com", "type": "user.created", "username": "test_user" } }, "tags": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "timestamp": { "type": "string", "format": "date-time" } } }, "PollingEndpointOut": { "type": "object", "required": [ "data", "done", "iterator" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/PollingEndpointMessageOut" } }, "done": { "type": "boolean" }, "iterator": { "type": "string" } } }, "PortIoConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "PortIoConfigOut": { "type": "object" }, "RawMessageOut": { "type": "object", "required": [ "eventType", "id", "timestamp" ], "properties": { "channels": { "description": "List of free-form identifiers that endpoints can filter by", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "eventId": { "description": "Optional unique identifier for the message", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "id": { "description": "The Message's ID.", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^msg_[A-Za-z0-9]{27}$", "example": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "tags": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_./\\\\#]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "timestamp": { "type": "string", "format": "date-time" } } }, "RecoverIn": { "type": "object", "required": [ "since" ], "properties": { "since": { "type": "string", "format": "date-time" }, "until": { "type": "string", "format": "date-time", "nullable": true } } }, "RecoverOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ReplayIn": { "type": "object", "required": [ "since" ], "properties": { "since": { "type": "string", "format": "date-time" }, "until": { "type": "string", "format": "date-time", "nullable": true } } }, "ReplayOut": { "type": "object", "required": [ "id", "status", "task", "updatedAt" ], "properties": { "id": { "description": "The QueueBackgroundTask's ID.", "type": "string", "maxLength": 33, "minLength": 33, "pattern": "^qtask_[A-Za-z0-9]{27}$", "example": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "status": { "$ref": "#/components/schemas/BackgroundTaskStatus" }, "task": { "$ref": "#/components/schemas/BackgroundTaskType" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "RetrySchedule": { "type": "array", "items": { "$ref": "#/components/schemas/Duration" } }, "RetryScheduleInOut": { "type": "object", "properties": { "retrySchedule": { "$ref": "#/components/schemas/RetrySchedule", "nullable": true } } }, "RotatePollerTokenIn": { "type": "object", "properties": { "expiry": { "description": "How long the token will be valid for, in seconds. Can be up to 31,536,000 seconds (1 year).", "type": "integer", "format": "int64", "maximum": 31536000.0, "minimum": 1.0, "nullable": true }, "oldTokenExpiry": { "description": "Updates the previous token's expiration, in seconds.\n\nIf set to 0, the old token will immediately be revoked. Must be between 0 and 86,400 seconds (1 day).\n\nDefaults to 300 seconds (5 minutes).", "default": 300, "type": "integer", "format": "int64", "maximum": 86400.0, "minimum": 0.0 } } }, "RotateTokenOut": { "type": "object", "required": [ "ingestUrl" ], "properties": { "ingestUrl": { "type": "string" } } }, "RotatedUrlOut": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string" } } }, "RutterConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "RutterConfigOut": { "type": "object" }, "S3Config": { "type": "object", "required": [ "accessKeyId", "bucket", "region", "secretAccessKey" ], "properties": { "accessKeyId": { "type": "string" }, "bucket": { "type": "string" }, "endpointUrl": { "type": "string", "format": "uri", "nullable": true }, "region": { "type": "string" }, "secretAccessKey": { "type": "string" } } }, "SegmentConfig": { "type": "object", "properties": { "secret": { "type": "string", "nullable": true } } }, "SegmentConfigOut": { "type": "object" }, "SettingsInternalIn": { "type": "object", "properties": { "applicationAlertEvents": { "default": [], "type": "array", "items": { "$ref": "#/components/schemas/ApplicationAlertEvent" } }, "applicationAlertsDashboardUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "applicationAlertsLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "colorPaletteDark": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "colorPaletteLight": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "customBaseFontSize": { "type": "integer", "format": "int", "nullable": true }, "customColor": { "type": "string", "format": "color", "nullable": true }, "customFontFamily": { "type": "string", "pattern": "^[a-zA-Z0-9\\-_ ]+$", "example": "Open Sans", "nullable": true }, "customFontFamilyUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customStringsOverride": { "$ref": "#/components/schemas/CustomStringsOverride", "nullable": true }, "customThemeOverride": { "$ref": "#/components/schemas/CustomThemeOverride", "nullable": true }, "disableEndpointOnFailure": { "default": true, "type": "boolean" }, "displayName": { "type": "string", "nullable": true }, "enableApplicationAlerts": { "default": false, "type": "boolean" }, "enableChannels": { "default": false, "type": "boolean" }, "enableEndpointMtlsConfig": { "default": false, "type": "boolean" }, "enableEndpointOauthConfig": { "default": false, "type": "boolean" }, "enableIntegrationManagement": { "default": false, "type": "boolean" }, "enableMessageStream": { "default": false, "type": "boolean" }, "enableMsgAtmptLog": { "default": false, "type": "boolean" }, "enableOtlp": { "default": false, "type": "boolean" }, "enableTransformations": { "default": false, "type": "boolean" }, "enforceHttps": { "default": true, "type": "boolean" }, "eventCatalogPublished": { "default": false, "type": "boolean" }, "readOnly": { "default": false, "type": "boolean" }, "requireEndpointChannel": { "default": false, "type": "boolean" }, "requireEndpointFilterTypes": { "default": false, "type": "boolean" }, "retryPolicy": { "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true }, "sendSvixWebhookHeaders": { "default": false, "type": "boolean" }, "showFeatureTooltips": { "default": false, "type": "boolean" }, "showUseSvixPlay": { "default": true, "type": "boolean" }, "webhooksAutoConfig": { "default": false, "type": "boolean" }, "whitelabelHeaders": { "default": false, "type": "boolean" }, "wipeSuccessfulPayload": { "default": false, "type": "boolean" } } }, "SettingsInternalOut": { "type": "object", "properties": { "applicationAlertEvents": { "default": [], "type": "array", "items": { "$ref": "#/components/schemas/ApplicationAlertEvent" } }, "applicationAlertsDashboardUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "applicationAlertsLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "colorPaletteDark": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "colorPaletteLight": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "customBaseFontSize": { "type": "integer", "format": "int", "nullable": true }, "customColor": { "type": "string", "format": "color", "nullable": true }, "customFontFamily": { "type": "string", "pattern": "^[a-zA-Z0-9\\-_ ]+$", "example": "Open Sans", "nullable": true }, "customFontFamilyUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customStringsOverride": { "$ref": "#/components/schemas/CustomStringsOverride", "nullable": true }, "customThemeOverride": { "$ref": "#/components/schemas/CustomThemeOverride", "nullable": true }, "disableEndpointOnFailure": { "default": true, "type": "boolean" }, "displayName": { "type": "string", "nullable": true }, "enableApplicationAlerts": { "default": false, "type": "boolean" }, "enableChannels": { "default": false, "type": "boolean" }, "enableEndpointMtlsConfig": { "default": false, "type": "boolean" }, "enableEndpointOauthConfig": { "default": false, "type": "boolean" }, "enableIntegrationManagement": { "default": false, "type": "boolean" }, "enableMessageStream": { "default": false, "type": "boolean" }, "enableMsgAtmptLog": { "default": false, "type": "boolean" }, "enableOtlp": { "default": false, "type": "boolean" }, "enableTransformations": { "default": false, "type": "boolean" }, "enforceHttps": { "default": true, "type": "boolean" }, "eventCatalogPublished": { "default": false, "type": "boolean" }, "readOnly": { "default": false, "type": "boolean" }, "requireEndpointChannel": { "default": false, "type": "boolean" }, "requireEndpointFilterTypes": { "default": false, "type": "boolean" }, "retryPolicy": { "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true }, "sendSvixWebhookHeaders": { "default": false, "type": "boolean" }, "showFeatureTooltips": { "default": false, "type": "boolean" }, "showSvixBrandFooter": { "default": false, "type": "boolean" }, "showUseSvixPlay": { "default": true, "type": "boolean" }, "webhooksAutoConfig": { "default": false, "type": "boolean" }, "whitelabelHeaders": { "default": false, "type": "boolean" }, "whitelabelLogo": { "default": null, "type": "string", "format": "uri", "nullable": true }, "wipeSuccessfulPayload": { "default": false, "type": "boolean" } } }, "SettingsInternalPatch": { "type": "object", "properties": { "applicationAlertEvents": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationAlertEvent" } }, "applicationAlertsDashboardUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "applicationAlertsLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "colorPaletteDark": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "colorPaletteLight": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "customBaseFontSize": { "type": "integer", "format": "int", "nullable": true }, "customColor": { "type": "string", "format": "color", "nullable": true }, "customFontFamily": { "type": "string", "pattern": "^[a-zA-Z0-9\\-_ ]+$", "example": "Open Sans", "nullable": true }, "customFontFamilyUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customStringsOverride": { "$ref": "#/components/schemas/CustomStringsOverride", "nullable": true }, "customThemeOverride": { "$ref": "#/components/schemas/CustomThemeOverride", "nullable": true }, "disableEndpointOnFailure": { "type": "boolean" }, "displayName": { "type": "string", "nullable": true }, "enableApplicationAlerts": { "type": "boolean" }, "enableChannels": { "type": "boolean" }, "enableEndpointMtlsConfig": { "type": "boolean" }, "enableEndpointOauthConfig": { "type": "boolean" }, "enableIntegrationManagement": { "type": "boolean" }, "enableMessageStream": { "type": "boolean" }, "enableMsgAtmptLog": { "type": "boolean" }, "enableOtlp": { "type": "boolean" }, "enableTransformations": { "type": "boolean" }, "enforceHttps": { "type": "boolean" }, "eventCatalogPublished": { "type": "boolean" }, "readOnly": { "type": "boolean" }, "requireEndpointChannel": { "type": "boolean" }, "requireEndpointFilterTypes": { "type": "boolean" }, "retryPolicy": { "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true }, "sendSvixWebhookHeaders": { "type": "boolean" }, "showFeatureTooltips": { "type": "boolean" }, "showUseSvixPlay": { "type": "boolean" }, "webhooksAutoConfig": { "type": "boolean" }, "whitelabelHeaders": { "type": "boolean" }, "wipeSuccessfulPayload": { "type": "boolean" } } }, "SettingsInternalUpdateOut": { "type": "object", "properties": { "applicationAlertEvents": { "default": [], "type": "array", "items": { "$ref": "#/components/schemas/ApplicationAlertEvent" } }, "applicationAlertsDashboardUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "applicationAlertsLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "colorPaletteDark": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "colorPaletteLight": { "$ref": "#/components/schemas/CustomColorPalette", "nullable": true }, "customBaseFontSize": { "type": "integer", "format": "int", "nullable": true }, "customColor": { "type": "string", "format": "color", "nullable": true }, "customFontFamily": { "type": "string", "pattern": "^[a-zA-Z0-9\\-_ ]+$", "example": "Open Sans", "nullable": true }, "customFontFamilyUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customLogoUrl": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1, "nullable": true }, "customStringsOverride": { "$ref": "#/components/schemas/CustomStringsOverride", "nullable": true }, "customThemeOverride": { "$ref": "#/components/schemas/CustomThemeOverride", "nullable": true }, "disableEndpointOnFailure": { "default": true, "type": "boolean" }, "displayName": { "type": "string", "nullable": true }, "enableApplicationAlerts": { "default": false, "type": "boolean" }, "enableChannels": { "default": false, "type": "boolean" }, "enableEndpointMtlsConfig": { "default": false, "type": "boolean" }, "enableEndpointOauthConfig": { "default": false, "type": "boolean" }, "enableIntegrationManagement": { "default": false, "type": "boolean" }, "enableMessageStream": { "default": false, "type": "boolean" }, "enableMsgAtmptLog": { "default": false, "type": "boolean" }, "enableOtlp": { "default": false, "type": "boolean" }, "enableTransformations": { "default": false, "type": "boolean" }, "enforceHttps": { "default": true, "type": "boolean" }, "eventCatalogPublished": { "default": false, "type": "boolean" }, "readOnly": { "default": false, "type": "boolean" }, "requireEndpointChannel": { "default": false, "type": "boolean" }, "requireEndpointFilterTypes": { "default": false, "type": "boolean" }, "retryPolicy": { "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true }, "sendSvixWebhookHeaders": { "default": false, "type": "boolean" }, "showFeatureTooltips": { "default": false, "type": "boolean" }, "showUseSvixPlay": { "default": true, "type": "boolean" }, "webhooksAutoConfig": { "default": false, "type": "boolean" }, "whitelabelHeaders": { "default": false, "type": "boolean" }, "wipeSuccessfulPayload": { "default": false, "type": "boolean" } } }, "ShopifyConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "ShopifyConfigOut": { "type": "object" }, "SinkHttpConfig": { "type": "object", "required": [ "url" ], "properties": { "headers": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "key": { "default": null, "type": "string", "nullable": true }, "url": { "type": "string", "format": "uri" } } }, "SinkIn": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SinkIn_http" }, { "$ref": "#/components/schemas/SinkIn_eventStream" }, { "$ref": "#/components/schemas/SinkIn_autoConfig" } ], "properties": { "channels": { "description": "List of message channels this sink listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the sink.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } }, "discriminator": { "mapping": { "autoConfig": "#/components/schemas/SinkIn_autoConfig", "eventStream": "#/components/schemas/SinkIn_eventStream", "http": "#/components/schemas/SinkIn_http" }, "propertyName": "type" } }, "SinkOtelV1Config": { "type": "object", "required": [ "url" ], "properties": { "headers": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "url": { "type": "string", "format": "uri" } } }, "SinkOut": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SinkOut_http" }, { "$ref": "#/components/schemas/SinkOut_eventStream" }, { "$ref": "#/components/schemas/SinkOut_autoConfig" } ], "required": [ "createdAt", "description", "id", "metadata", "updatedAt" ], "properties": { "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } }, "discriminator": { "mapping": { "autoConfig": "#/components/schemas/SinkOut_autoConfig", "eventStream": "#/components/schemas/SinkOut_eventStream", "http": "#/components/schemas/SinkOut_http" }, "propertyName": "type" } }, "SinkSecretOut": { "type": "object", "properties": { "key": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true } } }, "SinkStatus": { "type": "string", "enum": [ "enabled", "paused", "disabled", "retrying" ] }, "SinkStatusIn": { "type": "string", "enum": [ "enabled", "disabled" ] }, "SinkTransformIn": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10, "nullable": true } } }, "SinkTransformationOut": { "type": "object", "required": [ "enabled" ], "properties": { "code": { "type": "string", "nullable": true }, "enabled": { "type": "boolean" } } }, "SkipParams": { "type": "object", "properties": { "iterator": { "type": "string", "nullable": true } } }, "SlackChallengeResponse": { "type": "object", "required": [ "challenge" ], "properties": { "challenge": { "type": "string" } } }, "SlackConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "SlackConfigOut": { "type": "object" }, "StartingPosition": { "type": "string", "enum": [ "earliest", "latest" ] }, "StatisticsPeriod": { "description": "Period length for a statistics data point.", "type": "string", "enum": [ "OneDay", "OneHour", "FiveMinutes" ] }, "StatusCodeClass": { "title": "StatusCodeClass", "description": "The different classes of HTTP status codes:\n\n- CodeNone = 0\n- Code1xx = 100\n- Code2xx = 200\n- Code3xx = 300\n- Code4xx = 400\n- Code5xx = 500", "type": "integer", "enum": [ 0, 100, 200, 300, 400, 500 ], "x-enum-varnames": [ "CodeNone", "Code1xx", "Code2xx", "Code3xx", "Code4xx", "Code5xx" ] }, "StreamAlertEmailPatch": { "type": "object", "properties": { "email": { "description": "A comma-separated list of email addresses", "type": "string", "example": "user1@example.com, user2@example.com", "nullable": true } } }, "StreamEventTypeIn": { "type": "object", "required": [ "name" ], "properties": { "archived": { "default": false, "type": "boolean" }, "deprecated": { "default": false, "type": "boolean" }, "description": { "type": "string", "nullable": true }, "featureFlags": { "default": null, "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } } }, "StreamEventTypeOut": { "type": "object", "required": [ "archived", "createdAt", "deprecated", "name", "updatedAt" ], "properties": { "archived": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "deprecated": { "type": "boolean" }, "description": { "type": "string", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamEventTypePatch": { "type": "object", "properties": { "archived": { "type": "boolean" }, "deprecated": { "type": "boolean" }, "description": { "type": "string", "nullable": true }, "featureFlags": { "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "uniqueItems": true, "example": [ "cool-new-feature" ], "nullable": true }, "name": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup", "nullable": true } } }, "StreamIn": { "type": "object", "required": [ "name" ], "properties": { "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "description": "The stream's name.", "type": "string", "minLength": 1 }, "uid": { "description": "An optional unique identifier for the stream.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!strm_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamOut": { "type": "object", "required": [ "createdAt", "id", "metadata", "updatedAt" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The stream's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^strm_[A-Za-z0-9]{21,22}$", "example": "strm_2yZwUhtgs5Ai8T9yRQJXA" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "description": "The stream's name.", "type": "string", "nullable": true }, "uid": { "description": "The stream's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!strm_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamPatch": { "type": "object", "properties": { "description": { "description": "The Stream's description.", "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "uid": { "description": "An optional unique identifier for the stream.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!strm_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamPortalAccessIn": { "type": "object", "properties": { "expiry": { "description": "How long the token will be valid for, in seconds.\n\nValid values are between 1 hour and 7 days. The default is 7 days.", "default": 604800, "type": "integer", "format": "uint64", "maximum": 604800.0, "minimum": 3600.0, "nullable": true }, "featureFlags": { "description": "The set of feature flags the created token will have access to.", "type": "array", "items": { "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$" }, "maxItems": 25, "minItems": 1, "uniqueItems": true, "example": [] }, "sessionId": { "description": "An optional session ID to attach to the token.\n\nWhen expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.", "type": "string", "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9@_-]+$", "example": "user_1FB8", "nullable": true } } }, "StreamSinkIn": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/StreamSinkIn_poller" }, { "$ref": "#/components/schemas/StreamSinkIn_azureBlobStorage" }, { "$ref": "#/components/schemas/StreamSinkIn_otelTracing" }, { "$ref": "#/components/schemas/StreamSinkIn_http" }, { "$ref": "#/components/schemas/StreamSinkIn_amazonS3" }, { "$ref": "#/components/schemas/StreamSinkIn_googleCloudStorage" } ], "properties": { "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } }, "discriminator": { "mapping": { "amazonS3": "#/components/schemas/StreamSinkIn_amazonS3", "azureBlobStorage": "#/components/schemas/StreamSinkIn_azureBlobStorage", "googleCloudStorage": "#/components/schemas/StreamSinkIn_googleCloudStorage", "http": "#/components/schemas/StreamSinkIn_http", "otelTracing": "#/components/schemas/StreamSinkIn_otelTracing", "poller": "#/components/schemas/StreamSinkIn_poller" }, "propertyName": "type" } }, "StreamSinkOut": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/StreamSinkOut_poller" }, { "$ref": "#/components/schemas/StreamSinkOut_azureBlobStorage" }, { "$ref": "#/components/schemas/StreamSinkOut_otelTracing" }, { "$ref": "#/components/schemas/StreamSinkOut_http" }, { "$ref": "#/components/schemas/StreamSinkOut_amazonS3" }, { "$ref": "#/components/schemas/StreamSinkOut_googleCloudStorage" } ], "required": [ "batchSize", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "updatedAt" ], "properties": { "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } }, "discriminator": { "mapping": { "amazonS3": "#/components/schemas/StreamSinkOut_amazonS3", "azureBlobStorage": "#/components/schemas/StreamSinkOut_azureBlobStorage", "googleCloudStorage": "#/components/schemas/StreamSinkOut_googleCloudStorage", "http": "#/components/schemas/StreamSinkOut_http", "otelTracing": "#/components/schemas/StreamSinkOut_otelTracing", "poller": "#/components/schemas/StreamSinkOut_poller" }, "propertyName": "type" } }, "StreamSinkPatch": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/StreamSinkPatch_poller" }, { "$ref": "#/components/schemas/StreamSinkPatch_azureBlobStorage" }, { "$ref": "#/components/schemas/StreamSinkPatch_otelTracing" }, { "$ref": "#/components/schemas/StreamSinkPatch_http" }, { "$ref": "#/components/schemas/StreamSinkPatch_amazonS3" }, { "$ref": "#/components/schemas/StreamSinkPatch_googleCloudStorage" } ], "properties": { "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } }, "discriminator": { "mapping": { "amazonS3": "#/components/schemas/StreamSinkPatch_amazonS3", "azureBlobStorage": "#/components/schemas/StreamSinkPatch_azureBlobStorage", "googleCloudStorage": "#/components/schemas/StreamSinkPatch_googleCloudStorage", "http": "#/components/schemas/StreamSinkPatch_http", "otelTracing": "#/components/schemas/StreamSinkPatch_otelTracing", "poller": "#/components/schemas/StreamSinkPatch_poller" }, "propertyName": "type" } }, "StreamTokenExpireIn": { "type": "object", "properties": { "expiry": { "description": "How many seconds until the old key is expired.", "type": "integer", "format": "int64", "maximum": 259200.0, "minimum": 0.0, "example": 60, "nullable": true }, "sessionIds": { "description": "An optional list of session ids.\n\nIf any session ids are specified, only Stream tokens created with that session id will be expired.", "type": "array", "items": { "type": "string", "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9@_-]+$", "example": "user_1FB8" }, "maxItems": 1000 } } }, "StreamTransformationSimulateIn": { "type": "object", "required": [ "code", "events", "type" ], "properties": { "code": { "type": "string", "maxLength": 51200, "minLength": 10 }, "events": { "type": "array", "items": { "$ref": "#/components/schemas/EventIn" } }, "type": { "$ref": "#/components/schemas/StreamTransformationSimulateType" } } }, "StreamTransformationSimulateOut": { "type": "object", "required": [ "output" ], "properties": { "output": { "type": "object" } } }, "StreamTransformationSimulateType": { "type": "string", "enum": [ "http", "otelTracing", "amazonS3", "azureBlobStorage", "googleCloudStorage", "sns", "sqs" ] }, "StripeConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "StripeConfigOut": { "type": "object" }, "SubscribeIn": { "type": "object", "required": [ "endpoint" ], "properties": { "endpoint": { "$ref": "#/components/schemas/EndpointIn" } } }, "SvixConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "SvixConfigOut": { "type": "object" }, "TelnyxConfig": { "type": "object", "required": [ "publicKey" ], "properties": { "publicKey": { "type": "string" } } }, "TelnyxConfigOut": { "type": "object", "required": [ "publicKey" ], "properties": { "publicKey": { "type": "string" } } }, "TransformationHttpMethod": { "type": "string", "enum": [ "POST", "PUT", "PATCH" ] }, "TransformationSimulateIn": { "type": "object", "required": [ "code", "eventType", "payload" ], "properties": { "channels": { "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "uniqueItems": true, "nullable": true }, "code": { "type": "string", "maxLength": 51200, "minLength": 10 }, "eventType": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "payload": { "type": "object" } } }, "TransformationSimulateOut": { "type": "object", "required": [ "cancel", "payload", "url" ], "properties": { "cancel": { "type": "boolean" }, "method": { "$ref": "#/components/schemas/TransformationHttpMethod", "nullable": true }, "payload": { "type": "string" }, "url": { "type": "string", "format": "uri", "maxLength": 65536, "minLength": 1 } } }, "ValidationError": { "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.", "type": "object", "required": [ "loc", "msg", "type" ], "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.", "type": "array", "items": { "type": "string" } }, "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" } } }, "VapiConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "VapiConfigOut": { "type": "object" }, "VeriffConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "VeriffConfigOut": { "type": "object" }, "VgsConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "VgsConfigOut": { "type": "object" }, "WhoamiOut": { "type": "object", "required": [ "permissionSource" ], "properties": { "appId": { "description": "The dispatch application that the current token is limited to, if there is one", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^app_[A-Za-z0-9]{27}$", "example": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "nullable": true }, "envId": { "description": "The environment (\"organization\") that the current token is attached to", "type": "string", "maxLength": 31, "minLength": 31, "pattern": "^org_[A-Za-z0-9]{27}$", "example": "org_1srOrx2ZWZBpBUvZwXKQmoEYga2", "nullable": true }, "permissionSource": { "description": "The source of the current request's authentication\n\nThis field is unstable and may change in the future.", "$ref": "#/components/schemas/AuthenticationSource" }, "sessionId": { "description": "The session associated with the current request", "type": "string", "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9@_-]+$", "example": "user_1FB8", "nullable": true }, "streamAppId": { "description": "The stream application that the current token is limited to, if there is one", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^strm_[A-Za-z0-9]{21,22}$", "example": "strm_2yZwUhtgs5Ai8T9yRQJXA", "nullable": true } } }, "ZoomConfig": { "type": "object", "required": [ "secret" ], "properties": { "secret": { "type": "string" } } }, "ZoomConfigOut": { "type": "object" }, "ZoomCrcResponse": { "type": "object", "required": [ "encryptedToken", "plainToken" ], "properties": { "encryptedToken": { "type": "string" }, "plainToken": { "type": "string" } } }, "ConnectorOptions_Custom": { "type": "object", "required": [ "kind", "options" ], "properties": { "kind": { "type": "string", "enum": [ "Custom" ] }, "options": { "$ref": "#/components/schemas/CustomConnectorOptions" } } }, "ConnectorOptions_AgenticCommerceProtocol": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "AgenticCommerceProtocol" ] } } }, "ConnectorOptions_CloseCRM": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "CloseCRM" ] } } }, "ConnectorOptions_CustomerIO": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "CustomerIO" ] } } }, "ConnectorOptions_Discord": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Discord" ] } } }, "ConnectorOptions_Hubspot": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Hubspot" ] } } }, "ConnectorOptions_Inngest": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Inngest" ] } } }, "ConnectorOptions_Loops": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Loops" ] } } }, "ConnectorOptions_Otel": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Otel" ] } } }, "ConnectorOptions_Resend": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Resend" ] } } }, "ConnectorOptions_Salesforce": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Salesforce" ] } } }, "ConnectorOptions_Segment": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Segment" ] } } }, "ConnectorOptions_Sendgrid": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Sendgrid" ] } } }, "ConnectorOptions_Slack": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Slack" ] } } }, "ConnectorOptions_Teams": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Teams" ] } } }, "ConnectorOptions_TriggerDev": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "TriggerDev" ] } } }, "ConnectorOptions_Windmill": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Windmill" ] } } }, "ConnectorOptions_Zapier": { "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "Zapier" ] } } }, "IngestSourceIn_generic-webhook": { "description": "Webhooks with no verification scheme or special handling.", "type": "object", "required": [ "name", "type" ], "properties": { "type": { "type": "string", "enum": [ "generic-webhook" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_cron": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/CronConfig" }, "type": { "type": "string", "enum": [ "cron" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_adobe-sign": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/AdobeSignConfig" }, "type": { "type": "string", "enum": [ "adobe-sign" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_beehiiv": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "beehiiv" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_brex": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "brex" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_checkbook": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/CheckbookConfig" }, "type": { "type": "string", "enum": [ "checkbook" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_clerk": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "clerk" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_docusign": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/DocusignConfig" }, "type": { "type": "string", "enum": [ "docusign" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_easypost": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/EasypostConfig" }, "type": { "type": "string", "enum": [ "easypost" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_github": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/GithubConfig" }, "type": { "type": "string", "enum": [ "github" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_guesty": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "guesty" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_hubspot": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/HubspotConfig" }, "type": { "type": "string", "enum": [ "hubspot" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_incident-io": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "incident-io" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_lithic": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "lithic" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_meta": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/MetaConfig" }, "type": { "type": "string", "enum": [ "meta" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_nash": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "nash" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_orum-io": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/OrumIoConfig" }, "type": { "type": "string", "enum": [ "orum-io" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_panda-doc": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/PandaDocConfig" }, "type": { "type": "string", "enum": [ "panda-doc" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_port-io": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/PortIoConfig" }, "type": { "type": "string", "enum": [ "port-io" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_pleo": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "pleo" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_psi-fi": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "psi-fi" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_replicate": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "replicate" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_resend": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "resend" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_rutter": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/RutterConfig" }, "type": { "type": "string", "enum": [ "rutter" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_safebase": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "safebase" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_sardine": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "sardine" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_segment": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SegmentConfig" }, "type": { "type": "string", "enum": [ "segment" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_shopify": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/ShopifyConfig" }, "type": { "type": "string", "enum": [ "shopify" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_slack": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SlackConfig" }, "type": { "type": "string", "enum": [ "slack" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_stripe": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/StripeConfig" }, "type": { "type": "string", "enum": [ "stripe" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_stych": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "stych" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_svix": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "svix" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_zoom": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/ZoomConfig" }, "type": { "type": "string", "enum": [ "zoom" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_telnyx": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/TelnyxConfig" }, "type": { "type": "string", "enum": [ "telnyx" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_vapi": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/VapiConfig" }, "type": { "type": "string", "enum": [ "vapi" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_open-ai": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "open-ai" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_render": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfig" }, "type": { "type": "string", "enum": [ "render" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_veriff": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/VeriffConfig" }, "type": { "type": "string", "enum": [ "veriff" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_airwallex": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/AirwallexConfig" }, "type": { "type": "string", "enum": [ "airwallex" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceIn_vgs": { "type": "object", "required": [ "config", "name", "type" ], "properties": { "config": { "$ref": "#/components/schemas/VgsConfig" }, "type": { "type": "string", "enum": [ "vgs" ] }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "maxLength": 256, "minLength": 2 }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "IngestSourceOut_generic-webhook": { "type": "object", "required": [ "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "type": { "type": "string", "enum": [ "generic-webhook" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_cron": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/CronConfig" }, "type": { "type": "string", "enum": [ "cron" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_adobe-sign": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/AdobeSignConfigOut" }, "type": { "type": "string", "enum": [ "adobe-sign" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_beehiiv": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "beehiiv" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_brex": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "brex" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_checkbook": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/CheckbookConfigOut" }, "type": { "type": "string", "enum": [ "checkbook" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_clerk": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "clerk" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_docusign": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/DocusignConfigOut" }, "type": { "type": "string", "enum": [ "docusign" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_easypost": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/EasypostConfigOut" }, "type": { "type": "string", "enum": [ "easypost" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_github": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/GithubConfigOut" }, "type": { "type": "string", "enum": [ "github" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_guesty": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "guesty" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_hubspot": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/HubspotConfigOut" }, "type": { "type": "string", "enum": [ "hubspot" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_incident-io": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "incident-io" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_lithic": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "lithic" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_meta": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/MetaConfigOut" }, "type": { "type": "string", "enum": [ "meta" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_nash": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "nash" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_orum-io": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/OrumIoConfigOut" }, "type": { "type": "string", "enum": [ "orum-io" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_panda-doc": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/PandaDocConfigOut" }, "type": { "type": "string", "enum": [ "panda-doc" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_port-io": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/PortIoConfigOut" }, "type": { "type": "string", "enum": [ "port-io" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_psi-fi": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "psi-fi" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_pleo": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "pleo" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_replicate": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "replicate" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_resend": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "resend" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_rutter": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/RutterConfigOut" }, "type": { "type": "string", "enum": [ "rutter" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_safebase": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "safebase" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_sardine": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "sardine" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_segment": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SegmentConfigOut" }, "type": { "type": "string", "enum": [ "segment" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_shopify": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/ShopifyConfigOut" }, "type": { "type": "string", "enum": [ "shopify" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_slack": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SlackConfigOut" }, "type": { "type": "string", "enum": [ "slack" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_stripe": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/StripeConfigOut" }, "type": { "type": "string", "enum": [ "stripe" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_stych": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "stych" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_svix": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "svix" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_zoom": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/ZoomConfigOut" }, "type": { "type": "string", "enum": [ "zoom" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_telnyx": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/TelnyxConfigOut" }, "type": { "type": "string", "enum": [ "telnyx" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_vapi": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/VapiConfigOut" }, "type": { "type": "string", "enum": [ "vapi" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_open-ai": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "open-ai" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_render": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SvixConfigOut" }, "type": { "type": "string", "enum": [ "render" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_veriff": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/VeriffConfigOut" }, "type": { "type": "string", "enum": [ "veriff" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_airwallex": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/AirwallexConfigOut" }, "type": { "type": "string", "enum": [ "airwallex" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "IngestSourceOut_vgs": { "type": "object", "required": [ "config", "createdAt", "id", "metadata", "name", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/VgsConfigOut" }, "type": { "type": "string", "enum": [ "vgs" ] }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "description": "The Source's ID.", "type": "string", "maxLength": 26, "minLength": 25, "pattern": "^src_[A-Za-z0-9]{21,22}$", "example": "src_2yZwUhtgs5Ai8T9yRQJXA" }, "ingestUrl": { "type": "string", "format": "uri", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "uid": { "description": "The Source's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!src_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "SinkIn_http": { "type": "object", "required": [ "type", "url" ], "properties": { "type": { "type": "string", "enum": [ "http" ] }, "url": { "type": "string", "format": "uri" }, "channels": { "description": "List of message channels this sink listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the sink.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "SinkIn_eventStream": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "eventStream" ] }, "channels": { "description": "List of message channels this sink listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the sink.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "SinkIn_autoConfig": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "autoConfig" ] }, "channels": { "description": "List of message channels this sink listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "description": { "default": "", "type": "string", "example": "An example endpoint name" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "secret": { "description": "The endpoint's verification secret.\n\nFormat: `base64` encoded random bytes optionally prefixed with `whsec_`.\nIt is recommended to not set this and let the server generate the secret.", "type": "string", "pattern": "^(whsec_)?[a-zA-Z0-9+/=]{32,100}$", "example": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD", "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 1.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the sink.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true } } }, "SinkOut_http": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "type", "updatedAt", "url" ], "properties": { "type": { "type": "string", "enum": [ "http" ] }, "url": { "type": "string", "format": "uri" }, "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "SinkOut_eventStream": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "type", "updatedAt" ], "properties": { "type": { "type": "string", "enum": [ "eventStream" ] }, "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "SinkOut_autoConfig": { "type": "object", "required": [ "createdAt", "description", "id", "metadata", "type", "updatedAt" ], "properties": { "type": { "type": "string", "enum": [ "autoConfig" ] }, "channels": { "description": "List of message channels this endpoint listens to (omit for all).", "type": "array", "items": { "type": "string", "maxLength": 128, "pattern": "^[a-zA-Z0-9\\-_.:]+$", "example": "project_1337" }, "maxItems": 10, "minItems": 1, "uniqueItems": true, "example": [ "project_123", "group_2" ], "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "description": { "description": "An example endpoint name.", "type": "string" }, "disabled": { "default": false, "type": "boolean", "example": false }, "filterTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" }, "minItems": 1, "uniqueItems": true, "example": [ "user.signup", "user.deleted" ], "nullable": true }, "id": { "description": "The Endpoint's ID.", "type": "string", "maxLength": 30, "minLength": 30, "pattern": "^ep_[A-Za-z0-9]{27}$", "example": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "rateLimit": { "description": "Deprecated, use `throttleRate` instead.", "deprecated": true, "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "throttleRate": { "description": "Maximum messages per second to send to this endpoint.\n\nOutgoing messages will be throttled to this rate.", "type": "integer", "format": "uint16", "minimum": 0.0, "nullable": true }, "uid": { "description": "Optional unique identifier for the endpoint.", "type": "string", "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkIn_poller": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "poller" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkIn_azureBlobStorage": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/AzureBlobStorageConfig" }, "type": { "type": "string", "enum": [ "azureBlobStorage" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkIn_otelTracing": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SinkOtelV1Config" }, "type": { "type": "string", "enum": [ "otelTracing" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkIn_http": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/SinkHttpConfig" }, "type": { "type": "string", "enum": [ "http" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkIn_amazonS3": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/S3Config" }, "type": { "type": "string", "enum": [ "amazonS3" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkIn_googleCloudStorage": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/GoogleCloudStorageConfig" }, "type": { "type": "string", "enum": [ "googleCloudStorage" ] }, "batchSize": { "description": "How many events will be batched in a request to the Sink.", "default": 100, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100 }, "eventTypes": { "description": "A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events.", "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "description": "How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n\nFor example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n\nNote that we will never send an empty batch of events to the Sink.", "default": 0, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0 }, "metadata": { "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "status": { "description": "Whether the sink will receive events.\n\nIf the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n\nIf the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.", "default": "enabled", "$ref": "#/components/schemas/SinkStatusIn" }, "uid": { "description": "An optional unique identifier for the sink.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkOut_poller": { "type": "object", "required": [ "batchSize", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "type": { "type": "string", "enum": [ "poller" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkOut_azureBlobStorage": { "type": "object", "required": [ "batchSize", "config", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/AzureBlobStorageConfig" }, "type": { "type": "string", "enum": [ "azureBlobStorage" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkOut_otelTracing": { "type": "object", "required": [ "batchSize", "config", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SinkOtelV1Config" }, "type": { "type": "string", "enum": [ "otelTracing" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkOut_http": { "type": "object", "required": [ "batchSize", "config", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/SinkHttpConfig" }, "type": { "type": "string", "enum": [ "http" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkOut_amazonS3": { "type": "object", "required": [ "batchSize", "config", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/S3Config" }, "type": { "type": "string", "enum": [ "amazonS3" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkOut_googleCloudStorage": { "type": "object", "required": [ "batchSize", "config", "createdAt", "currentIterator", "id", "maxWaitSecs", "metadata", "status", "type", "updatedAt" ], "properties": { "config": { "$ref": "#/components/schemas/GoogleCloudStorageConfig" }, "type": { "type": "string", "enum": [ "googleCloudStorage" ] }, "batchSize": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" }, "currentIterator": { "type": "string" }, "eventTypes": { "default": [], "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "failureReason": { "type": "string", "nullable": true }, "id": { "description": "The sink's ID.", "type": "string", "maxLength": 27, "minLength": 26, "pattern": "^sink_[A-Za-z0-9]{21,22}$", "example": "sink_2yZwUhtgs5Ai8T9yRQJXA" }, "maxWaitSecs": { "type": "integer", "format": "int32" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "nextRetryAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "$ref": "#/components/schemas/SinkStatus" }, "uid": { "description": "The sink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true }, "updatedAt": { "type": "string", "format": "date-time" } } }, "StreamSinkPatch_poller": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "poller" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkPatch_azureBlobStorage": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/AzureBlobStoragePatchConfig" }, "type": { "type": "string", "enum": [ "azureBlobStorage" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkPatch_otelTracing": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/OtelTracingPatchConfig" }, "type": { "type": "string", "enum": [ "otelTracing" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkPatch_http": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/HttpPatchConfig" }, "type": { "type": "string", "enum": [ "http" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkPatch_amazonS3": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/AmazonS3PatchConfig" }, "type": { "type": "string", "enum": [ "amazonS3" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } }, "StreamSinkPatch_googleCloudStorage": { "type": "object", "required": [ "config", "type" ], "properties": { "config": { "$ref": "#/components/schemas/GoogleCloudStoragePatchConfig" }, "type": { "type": "string", "enum": [ "googleCloudStorage" ] }, "batchSize": { "default": null, "type": "integer", "format": "uint16", "maximum": 1000.0, "minimum": 1.0, "example": 100, "nullable": true }, "eventTypes": { "type": "array", "items": { "description": "The event type's name", "type": "string", "maxLength": 256, "pattern": "^[a-zA-Z0-9\\-_.]+$", "example": "user.signup" } }, "maxWaitSecs": { "default": null, "type": "integer", "format": "uint16", "maximum": 300.0, "minimum": 0.0, "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "status": { "default": null, "$ref": "#/components/schemas/SinkStatusIn", "nullable": true }, "uid": { "description": "The StreamSink's UID.", "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^(?!sink_)[a-zA-Z0-9_-]+$", "example": "unique-identifier", "nullable": true } } } } }, "tags": [ { "name": "Application", "description": "Consumer Applications are where messages are sent to. In most cases you would want to have one application for each of your users." }, { "name": "Message", "description": "Messages are the webhook events being sent." }, { "name": "Message Attempt", "description": "Attempts to deliver `Message`s to `Endpoint`s." }, { "name": "Endpoint", "description": "Endpoints are the URLs messages will be sent to. Each application can have up to 50 endpoints and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type)." }, { "name": "Integration", "description": "Integrations are services your users connect an application to. An integration can manage the application and its endpoints." }, { "name": "Event Type", "description": "Event types are identifiers denoting the type of message being sent. Event types are primarily used to decide which events are sent to which endpoint." }, { "name": "Authentication", "description": "Easily give your users access to our pre-built management UI." }, { "name": "Health", "description": "Health checks for the API." }, { "name": "Webhook", "description": "The webhooks the Svix service sends to notify you of events." }, { "name": "Background Task", "description": "The background tasks that have been executed for your environment." }, { "name": "Statistics", "description": "Generate statistics about your Svix utilization" }, { "name": "Webhook Endpoint", "description": "Configure where operational webhooks are sent to." }, { "name": "Environment", "description": "Manage your environments like development, staging and production." }, { "name": "Ingest Endpoint", "description": "Configure where Svix Ingest sends messages." }, { "name": "Connector", "description": "Connectors allow you to connect applications to external services." } ], "x-tagGroups": [ { "name": "General", "tags": [ "Background Task", "Environment" ] }, { "name": "Dispatch", "tags": [ "Application", "Event Type", "Authentication", "Endpoint", "Message", "Message Attempt", "Integration", "Connector" ] }, { "name": "Stream", "tags": [ "Stream", "Sink", "Event", "Stream Event Type", "Stream Authentication" ] }, { "name": "Ingest", "tags": [ "Ingest Source", "Ingest Endpoint" ] }, { "name": "Operational Webhooks", "tags": [ "Webhook", "Webhook Endpoint" ] }, { "name": "Statistics", "tags": [ "Statistics" ] }, { "name": "Utility", "tags": [ "Health" ] } ], "x-webhooks": { "background_task.finished": { "post": { "description": "Sent when a background task is finished.", "operationId": "background_task.finished", "requestBody": { "content": { "application/json": { "example": { "data": { "data": { "appStats": [ { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": null, "messageDestinations": 343 } ] }, "status": "finished", "task": "application.stats", "taskId": "qtask_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "background_task.finished" }, "schema": { "$ref": "#/components/schemas/BackgroundTaskFinishedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "background_task.finished", "tags": [ "Webhook" ] } }, "endpoint.created": { "post": { "description": "Sent when an endpoint is created.", "operationId": "endpoint.created", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.created" }, "schema": { "$ref": "#/components/schemas/EndpointCreatedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "endpoint.created", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "endpoint.deleted": { "post": { "description": "Sent when an endpoint is deleted.", "operationId": "endpoint.deleted", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.deleted" }, "schema": { "$ref": "#/components/schemas/EndpointDeletedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "endpoint.deleted", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "endpoint.disabled": { "post": { "description": "Sent when an endpoint has been automatically disabled after continuous failures, or manually via an API call.", "operationId": "endpoint.disabled", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier", "failSince": "2022-11-06T15:04:05Z", "trigger": "automatic" }, "type": "endpoint.disabled" }, "schema": { "$ref": "#/components/schemas/EndpointDisabledEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "endpoint.disabled", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "endpoint.enabled": { "post": { "description": "Sent when an endpoint has been enabled.", "operationId": "endpoint.enabled", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.enabled" }, "schema": { "$ref": "#/components/schemas/EndpointEnabledEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "endpoint.enabled", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "endpoint.updated": { "post": { "description": "Sent when an endpoint is updated.", "operationId": "endpoint.updated", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier" }, "type": "endpoint.updated" }, "schema": { "$ref": "#/components/schemas/EndpointUpdatedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "endpoint.updated", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "ingest.endpoint.disabled": { "post": { "description": "Sent when an ingest endpoint has been automatically disabled after continuous failures, or manually via an API call.", "operationId": "ingest.endpoint.disabled", "requestBody": { "content": { "application/json": { "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "endpointUid": "unique-endpoint-identifier", "failSince": "2022-11-06T15:04:05Z", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr", "trigger": "automatic" }, "type": "ingest.endpoint.disabled" }, "schema": { "$ref": "#/components/schemas/IngestEndpointDisabledEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "ingest.endpoint.disabled", "tags": [ "Webhook" ] } }, "ingest.message.attempt.exhausted": { "post": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "operationId": "ingest.message.attempt.exhausted", "requestBody": { "content": { "application/json": { "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.exhausted" }, "schema": { "$ref": "#/components/schemas/IngestMessageAttemptExhaustedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "ingest.message.attempt.exhausted", "tags": [ "Webhook" ] } }, "ingest.message.attempt.failing": { "post": { "description": "Sent after a message has been failing for a few times.\nIt's sent on the fourth failure. It complements `ingest.message.attempt.exhausted` which is sent after the last failure.", "operationId": "ingest.message.attempt.failing", "requestBody": { "content": { "application/json": { "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.failing" }, "schema": { "$ref": "#/components/schemas/IngestMessageAttemptFailingEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "ingest.message.attempt.failing", "tags": [ "Webhook" ] } }, "ingest.message.attempt.recovered": { "post": { "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "operationId": "ingest.message.attempt.recovered", "requestBody": { "content": { "application/json": { "example": { "data": { "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "sourceId": "src_30HT9jb8WZXKVWIO44ZDr" }, "type": "ingest.message.attempt.recovered" }, "schema": { "$ref": "#/components/schemas/IngestMessageAttemptRecoveredEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "ingest.message.attempt.recovered", "tags": [ "Webhook" ] } }, "message.attempt.exhausted": { "post": { "description": "Sent when a message delivery has failed (all of the retry attempts have been exhausted).", "operationId": "message.attempt.exhausted", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.exhausted" }, "schema": { "$ref": "#/components/schemas/MessageAttemptExhaustedEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "message.attempt.exhausted", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "message.attempt.failing": { "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": "message.attempt.failing", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 500, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.failing" }, "schema": { "$ref": "#/components/schemas/MessageAttemptFailingEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "message.attempt.failing", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } }, "message.attempt.log": { "post": { "description": "Sent after message attempts are made. Contains metadata about message attempts and their results. In order to reduce the frequency of webhooks, these are sent in batches periodically.", "operationId": "message.attempt.log", "requestBody": { "content": { "application/json": { "example": { "data": [ { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "attemptCount": 1, "attemptEnd": "2022-11-06T15:04:07Z", "attemptId": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "attemptStart": "2022-11-06T15:04:06Z", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "eventType": "user.signup", "msgCreated": "2022-11-06T15:04:05Z", "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2", "orgId": "env_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "status": 0 } ], "type": "message.attempt.log" }, "schema": { "$ref": "#/components/schemas/MessageAttemptLogEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "message.attempt.log", "tags": [ "Webhook" ], "x-internal": true, "x-svix-feature-flags": [ "attempt_log" ], "x-svix-group-name": "dispatch" } }, "message.attempt.recovered": { "post": { "description": "Sent on a successful dispatch after an earlier failure op webhook has already been sent.", "operationId": "message.attempt.recovered", "requestBody": { "content": { "application/json": { "example": { "data": { "appId": "app_1srOrx2ZWZBpBUvZwXKQmoEYga2", "appUid": "unique-app-identifier", "endpointId": "ep_1srOrx2ZWZBpBUvZwXKQmoEYga2", "lastAttempt": { "id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2", "responseStatusCode": 200, "timestamp": "2022-11-06T15:04:05Z" }, "msgEventId": "unique-msg-identifier", "msgId": "msg_1srOrx2ZWZBpBUvZwXKQmoEYga2" }, "type": "message.attempt.recovered" }, "schema": { "$ref": "#/components/schemas/MessageAttemptRecoveredEvent" } } } }, "responses": { "2XX": { "description": "Return any 2XX status to indicate that the data was received successfully" } }, "summary": "message.attempt.recovered", "tags": [ "Webhook" ], "x-svix-group-name": "dispatch" } } } }