Svix Application API

Consumer Applications are where messages are sent to. In most cases you would want to have one application for each of your users.

OpenAPI Specification

svix-application-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Svix Application API
  description: 'Welcome to the Svix API documentation!


    Useful 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/)


    # Introduction


    This 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).


    ## Main concepts


    In Svix you have four important entities you will be interacting with:


    - `messages`: these are the webhooks being sent. They can have contents and a few other properties.

    - `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform.

    - `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).

    - `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.



    ## Authentication


    Get 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).


    <SecurityDefinitions />



    ## Code samples


    The 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/).



    ## Idempotency


    Svix 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.


    To 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.


    Svix''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.


    Please note that idempotency is only supported for `POST` requests.



    ## Cross-Origin Resource Sharing


    This 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.

    '
  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
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.
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

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/svix/refs/heads/main/openapi/svix-application-api-openapi.yml