Sinch Applications API

You can use the API to manage features of applications in your project.

Operations 12

GET /v1/configuration/numbers Get Numbers #
POST /v1/configuration/numbers Update Numbers #
DELETE /v1/configuration/numbers Un-assign number #
GET /v1/configuration/callbacks/applications/{applicationkey} Get Callback URLs #
POST /v1/configuration/callbacks/applications/{applicationkey} Update Callbacks #
GET /v1/calling/query/number/{number} Query number #
GET /calling/v1/configuration/numbers Get Numbers Assigned to Application #
GET /calling/v1/configuration/callbacks/applications/{application_key} Get Application Callback Urls #
POST /calling/v1/configuration/callbacks/applications/{application_key} Update Application Callback Urls #
GET /calling/v1/configuration/numbers/{number} Get Number Configuration #
POST /calling/v1/configuration/numbers/{number} Update Number Configuration #
DELETE /calling/v1/configuration/numbers/{number} Unassign a Number #

Documentation

📖
Documentation
https://developers.sinch.com/docs/conversation
📖
APIReference
https://developers.sinch.com/docs/conversation/api-reference/template
📖
Documentation
https://developers.sinch.com/docs/est
📖
APIReference
https://developers.sinch.com/docs/est/api-reference/est
📖
Documentation
https://developers.sinch.com/docs/fax
📖
APIReference
https://developers.sinch.com/docs/fax/api-reference/fax
📖
Documentation
https://developers.sinch.com/docs/number-lookup-api-v2
📖
APIReference
https://developers.sinch.com/docs/number-lookup-api-v2/api-reference/number-lookup-v2
📖
Documentation
https://developers.sinch.com/docs/numbers
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/imported-hosting
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/numbers
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/porting
📖
Documentation
https://developers.sinch.com/docs/provisioning-api
📖
APIReference
https://developers.sinch.com/docs/provisioning-api/api-reference/provisioning-api-1
📖
Documentation
https://developers.sinch.com/docs/verification
📖
APIReference
https://developers.sinch.com/docs/verification/api-reference/verification
📖
Documentation
https://developers.sinch.com/docs/voice-2.0
📖
APIReference
https://developers.sinch.com/docs/voice-2.0/api-reference/voice
📖
Documentation
https://developers.sinch.com/docs/10dlc-registration
📖
APIReference
https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration
📖
Documentation
https://developers.sinch.com/docs/accesskeys
📖
APIReference
https://developers.sinch.com/docs/accesskeys/api-reference/oldaccesskeys
📖
APIReference
https://developers.sinch.com/docs/accesskeys/api-reference/accesskeys
📖
Documentation
https://developers.sinch.com/docs/campaigns
📖
APIReference
https://developers.sinch.com/docs/campaigns/api-reference/campaigns
📖
Documentation
https://developers.sinch.com/docs/chatlayer-analytics
📖
APIReference
https://developers.sinch.com/docs/chatlayer-analytics/api-reference/chatlayer-analytics
📖
Documentation
https://developers.sinch.com/docs/compliance-center
📖
APIReference
https://developers.sinch.com/docs/compliance-center/api-reference/compliance-brands
📖
Documentation
https://developers.sinch.com/docs/subprojects
📖
APIReference
https://developers.sinch.com/docs/subprojects/api-reference/subprojects

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-template-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-list-translations-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-list-templates-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-call-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-sip-trunk-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-sip-endpoint-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-ip-range-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-access-control-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-fax-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-template-by-name-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-update-template-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-phone-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-cover-page-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-lookup-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-lookup-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-hosting-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-qualified-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-text-enable-numbers-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-hosting-order-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-imported-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-imported-numbers-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-active-number-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-rent-any-number-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-validate-address-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-number-order-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-registration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-order-list-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-defaults-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-pagination-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-voice-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-order-document-base-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-port-in-order-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-account-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-sender-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-template-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-partial-template-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-webhook-webhook-input-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-webhook-update-webhook-input-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-verification-report-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-batch-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-session-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-call-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-validate-svaml-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-tcr-campaign-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-access-key-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-access-keys-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-update-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-campaign-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-carrier-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-note-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-campaign-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-campaign-attachment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-campaign-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-flow-step-details-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-conversation-flow-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-funnel-step-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-funnel-step-filter-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-intents-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-event-definitions-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-brand-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-brand-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-attachment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-import-brand-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-brand-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-callback-config-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-subproject-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-subprojects-response-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sinch:sinch-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sinch-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sinch Applications API
  version: '1.0'
  description: 'Operations tagged Applications across 2 of this provider''s published API definitions: sinch-voice-api-openapi.yaml, original-sinch-voice-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://calling.api.sinch.com
  description: redirected by Sinch to an appropriate region
- url: https://calling-use1.api.sinch.com
  description: United States
- url: https://calling-euc1.api.sinch.com
  description: Europe
- url: https://calling-sae1.api.sinch.com
  description: South America
- url: https://calling-apse1.api.sinch.com
  description: Southeast Asia 1
- url: https://calling-apse2.api.sinch.com
  description: Southeast Asia 2
tags:
- name: Applications
  description: You can use the API to manage features of applications in your project.
paths:
  /v1/configuration/numbers:
    servers:
    - url: https://callingapi.sinch.com
    get:
      tags:
      - Applications
      summary: Get Numbers
      description: Get information about your numbers. It returns a list of numbers that you own, as well as their capability (voice or SMS). For the ones that are assigned to an app, it returns the application key of the app.
      operationId: Configuration_GetNumbers
      responses:
        '200':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getNumbersResponseObj'
              example:
                numbers:
                - number: '+141511122233334'
                  capability: voice
                - number: '+14151112223333'
                  applicationkey: 2457b630-45ef-4939-be88-93ffaebf4346
                  capability: voice
                - number: '+141511122233332'
                  applicationkey: 2457b656-45ed-4934-be77-88feaebe4238
                  capability: voice
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage voice.applications;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.voice.api.v1.ApplicationsService;\nimport com.sinch.sdk.domains.voice.models.v1.applications.response.OwnedNumbersListResponse;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class ListNumbers {\n\n  private static final Logger LOGGER = Logger.getLogger(ListNumbers.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    ApplicationsService applicationsService = client.voice().v1().applications();\n\n    LOGGER.info(\"Get assigned numbers\");\n\n    OwnedNumbersListResponse response = applicationsService.listNumbers();\n\n    LOGGER.info(\"Response: \");\n\n    response.iterator().forEachRemaining(f -> LOGGER.info(f.toString()));\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try{\n    const response = await sinch.voice.applications.listNumbers({});\n    if (!response.numbers?.length) {\n      console.log('No phone numbers found.');\n      return;\n    }\n    console.log(`✅ Found ${response.numbers.length} phone numbers.`);\n    response.numbers.forEach((numberInformation) => {\n      console.log(numberInformation);\n    });\n  } catch (err) {\n    console.error('❌ Failed to list phone numbers and their capabilities:');\n    console.error(err);\n  }\n}\n\nmain();\n"
      security:
      - Basic: []
      - Signed: []
    post:
      tags:
      - Applications
      summary: Update Numbers
      description: Assign a number or a list of numbers to an application.
      operationId: Configuration_UpdateNumbers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateNumbers'
      responses:
        '204':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage voice.applications;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.voice.api.v1.ApplicationsService;\nimport com.sinch.sdk.domains.voice.models.v1.applications.Capability;\nimport com.sinch.sdk.domains.voice.models.v1.applications.request.UpdateNumbersRequest;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.Arrays;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class AssignNumbers {\n\n  private static final Logger LOGGER = Logger.getLogger(AssignNumbers.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The Sinch virtual phone number to assign to the application, in E.164 format (e.g.,\n    // +12025550123)\n    String phoneNumber = Settings.getPhoneNumber().orElse(\"MY_SINCH_PHONE_NUMBER\");\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    ApplicationsService applicationsService = client.voice().v1().applications();\n\n    LOGGER.info(\n        String.format(\"Assign number '%s' to application '%s'\", phoneNumber, applicationKey));\n\n    UpdateNumbersRequest request =\n        UpdateNumbersRequest.builder()\n            .setNumbers(Arrays.asList(phoneNumber))\n            .setApplicationKey(applicationKey)\n            .setCapability(Capability.VOICE)\n            .build();\n\n    applicationsService.assignNumbers(request);\n\n    LOGGER.info(\"Done\");\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The Sinch virtual phone number to assign to the application, in E.164 format (e.g., +12025550123)\n  const sinchPhoneNumber = process.env.SINCH_PHONE_NUMBER || 'MY_SINCH_PHONE_NUMBER';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    await sinch.voice.applications.assignNumbers({\n      assignNumbersRequestBody: {\n        numbers: [sinchPhoneNumber],\n        applicationkey: applicationKey,\n        capability: 'voice',\n      },\n    });\n    console.log(`✅ Successfully assigned the number ${sinchPhoneNumber} to the application ${applicationKey}.`);\n  } catch (err) {\n    console.error(`❌ Failed to assign the number ${sinchPhoneNumber} to the application ${applicationKey}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
      security:
      - Basic: []
      - Signed: []
    delete:
      tags:
      - Applications
      summary: Un-assign number
      description: Un-assign a number from an application.
      operationId: Configuration_UnassignNumber
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/unassignNumbers'
      responses:
        '204':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage voice.applications;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.voice.api.v1.ApplicationsService;\nimport com.sinch.sdk.domains.voice.models.v1.applications.request.UnAssignNumberRequest;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class UnAssignNumber {\n\n  private static final Logger LOGGER = Logger.getLogger(UnAssignNumber.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The phone number to unassign from the application, in E.164 format (e.g., +12025550123)\n    String phoneNumber = Settings.getPhoneNumber().orElse(\"MY_SINCH_PHONE_NUMBER\");\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    ApplicationsService applicationsService = client.voice().v1().applications();\n\n    LOGGER.info(\n        String.format(\"Un-assign number '%s' from application '%s'\", phoneNumber, applicationKey));\n\n    UnAssignNumberRequest request =\n        UnAssignNumberRequest.builder()\n            .setNumber(phoneNumber)\n            .setApplicationKey(applicationKey)\n            .build();\n\n    applicationsService.unassignNumber(request);\n\n    LOGGER.info(\"Done\");\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The phone number to unassign from the application, in E.164 format (e.g., +12025550123)\n  const sinchPhoneNumber = process.env.SINCH_PHONE_NUMBER || 'MY_SINCH_PHONE_NUMBER';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    await sinch.voice.applications.unassignNumber({\n      unassignNumbersRequestBody: {\n        number: sinchPhoneNumber,\n        applicationkey: applicationKey,\n      },\n    });\n    console.log(`✅ Successfully unassigned the number ${sinchPhoneNumber} from the application ${applicationKey}.`);\n  } catch (err) {\n    console.error(`❌ Failed to unassign the number ${sinchPhoneNumber} to the application ${applicationKey}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
      security:
      - Basic: []
      - Signed: []
  /v1/configuration/callbacks/applications/{applicationkey}:
    servers:
    - url: https://callingapi.sinch.com
    parameters:
    - $ref: '#/components/parameters/applicationkey'
    get:
      tags:
      - Applications
      summary: Get Callback URLs
      description: Returns any callback URLs configured for the specified application.
      operationId: Configuration_GetCallbackURLs
      responses:
        '200':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/callbacks'
              example:
                url:
                  primary: https://primarycallback.com
                  fallback: https://fallbackcallback.com
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage voice.applications;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.voice.api.v1.ApplicationsService;\nimport com.sinch.sdk.domains.voice.models.v1.applications.EventDestinations;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class GetEventDestinations {\n\n  private static final Logger LOGGER = Logger.getLogger(GetEventDestinations.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    ApplicationsService applicationsService = client.voice().v1().applications();\n\n    LOGGER.info(String.format(\"Get event destinations for application key '%s'\", applicationKey));\n\n    EventDestinations response = applicationsService.getEventDestinations(applicationKey);\n\n    LOGGER.info(\"Response: \" + response);\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    const response = await sinch.voice.applications.getCallbackURLs({\n      applicationkey: applicationKey,\n    });\n    console.log(`✅ Successfully retrieved callback URLs for application ${applicationKey}:`);\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve callback URLs for application ${applicationKey}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
      security:
      - Basic: []
      - Signed: []
    post:
      tags:
      - Applications
      summary: Update Callbacks
      description: Update the configured callback URLs for the specified application.
      operationId: Configuration_UpdateCallbackURLs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/callbacks'
            example:
              url:
                primary: https://primarycallback.com
                fallback: https://fallbackcallback.com
      responses:
        '204':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage voice.applications;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.voice.api.v1.ApplicationsService;\nimport com.sinch.sdk.domains.voice.models.v1.applications.EventDestinationTarget;\nimport com.sinch.sdk.domains.voice.models.v1.applications.EventDestinations;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class UpdateEventDestinations {\n\n  private static final Logger LOGGER = Logger.getLogger(UpdateEventDestinations.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The new event destination target URL to set for the application\n    String eventDestinationTarget = \"https://my.callback.url/voice\";\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    ApplicationsService applicationsService = client.voice().v1().applications();\n\n    EventDestinations request =\n        EventDestinations.builder()\n            .setTarget(EventDestinationTarget.builder().setPrimary(eventDestinationTarget).build())\n            .build();\n\n    LOGGER.info(\n        String.format(\n            \"Update event destinations URLs for application key '%s': '%s'\",\n            applicationKey, request));\n\n    applicationsService.updateEventDestinations(applicationKey, request);\n\n    LOGGER.info(\"Done\");\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The new callback URL to set for the application\n  const callbackUrl = 'https://my.callback.url/voice';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    await sinch.voice.applications.updateCallbackURLs({\n      applicationkey: applicationKey,\n      updateCallbacksRequestBody: {\n        url: {\n          primary: callbackUrl,\n        },\n      },\n    });\n    console.log(`✅ Successfully updated callback URLs for application ${applicationKey}.`);\n  } catch (err) {\n    console.error(`❌ Failed to update callback URLs for application ${applicationKey}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
      security:
      - Basic: []
      - Signed: []
  /v1/calling/query/number/{number}:
    servers:
    - url: https://callingapi.sinch.com
    parameters:
    - $ref: '#/components/parameters/number'
    get:
      deprecated: true
      tags:
      - Applications
      summary: Query number
      description: Returns information about the requested number.
      operationId: Calling_QueryNumber
      responses:
        '200':
          description: A success response, or an [Error](https://developers.sinch.com/docs/voice/api-reference/errors/).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getQueryNumber'
              example:
                method: numberItem
                numberItem:
                  countryId: SE
                  numberType: Mobile
                  normalizedNumber: '+14151112223333'
                  restricted: false
                  rate:
                    currencyId: USD
                    amount: 0.368
      security:
      - Basic: []
      - Signed: []
  /calling/v1/configuration/numbers:
    get:
      operationId: getNumbers
      summary: Get Numbers Assigned to Application
      description: Returns the list of phone numbers assigned to the Voice API application.
      tags:
      - Applications
      responses:
        '200':
          description: List of numbers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumberList'
        '401':
          description: Unauthorized
      security:
      - basicAuth: []
    servers:
    - url: https://calling.api.sinch.com
      description: Global Production Server
  /calling/v1/configuration/callbacks/applications/{application_key}:
    get:
      operationId: getApplicationCallbacks
      summary: Get Application Callback Urls
      description: Returns the callback URLs configured for a specific application.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ApplicationKey'
      responses:
        '200':
          description: Application callback configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCallbacks'
        '401':
          description: Unauthorized
        '404':
          description: Application not found
      security:
      - basicAuth: []
    post:
      operationId: updateApplicationCallbacks
      summary: Update Application Callback Urls
      description: Updates the callback URLs for a specific application.
      tags:
      - Applications
      parameters:
      - $ref: '#/components/parameters/ApplicationKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationCallbacks'
      responses:
        '200':
          description: Callbacks updated
        '401':
          description: Unauthorized
        '404':
          description: Application not found
      security:
      - basicAuth: []
    servers:
    - url: https://calling.api.sinch.com
      description: Global Production Server
  /calling/v1/configuration/numbers/{number}:
    get:
      operationId: getNumberConfiguration
      summary: Get Number Configuration
      description: Returns the configuration for a specific phone number.
      tags:
      - Applications
      parameters:
      - name: number
        in: path
        required: true
        description: The phone number in E.164 format
        schema:
          type: string
      responses:
        '200':
          description: Number configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumberConfiguration'
        '401':
          description: Unauthorized
        '404':
          description: Number not found
      security:
      - basicAuth: []
    post:
      operationId: updateNumberConfiguration
      summary: Update Number Configuration
      description: Updates the configuration for a specific phone number including the application key assignment and capability.
      tags:
      - Applications
      parameters:
      - name: number
        in: path
        required: true
        description: The phone number in E.164 format
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NumberConfiguration'
      responses:
        '200':
          description: Number configuration updated
        '401':
          description: Unauthorized
        '404':
          description: Number not found
      security:
      - basicAuth: []
    delete:
      operationId: unassignNumber
      summary: Unassign a Number
      description: Unassigns a phone number from the application.
      tags:
      - Applications
      parameters:
      - name: number
        in: path
        required: true
        description: The phone number in E.164 format
        schema:
          type: string
      responses:
        '200':
          description: Number unassigned
        '401':
          description: Unauthorized
        '404':
          description: Number not found
      security:
      - basicAuth: []
    servers:
    - url: https://calling.api.sinch.com
      description: Global Production Server
components:
  schemas:
    price:
      type: object
      properties:
        currencyId:
          type:
          - string
          - 'null'
        amount:
          type: number
          format: float
    unassignNumbers:
      type: object
      example:
        numbers: '+14151112223333'
        applicationkey: 11983f76-12c8-1111-9515-4785c7b67ca8
        capability: voice
      properties:
        number:
          type: string
          description: The phone number in E.164 format (https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)
          example: '+14151112223333'
        applicationkey:
          description: Indicates the application where the number(s) was assigned. If empty, the application key that is used to sign the request will be used.
          type: string
          example: 11983f76-12c8-1111-9515-4785c7b67ca8
        capability:
          description: (optional) indicates the DID capability that was assigned to the chosen application. Please note that the DID needs to support the selected capability.
          allOf:
          - $ref: '#/components/schemas/capability'
    capability:
      type: string
      x-enumDescriptions:
        voice: Able to make Voice calls.
        sms: Able to send SMS messages.
      enum:
      - voice
      - sms
      description: Valid values are `voice` and `sms`
      example: voice
    getNumbersResponseObj:
      type: object
      properties:
        numbers:
          type: array
          description: The object type. Will always be list of numbers, associated application keys and capabilities
          items:
            type: object
            properties:
              number:
                type: string
                description: Numbers that you own in E.164 format.
                example: '+11400000000'
              applicationkey:
                type: string
                description: Indicates the application where the number(s) will be assigned. If no number is assigned the applicationkey will not be returned.
              capability:
                $ref: '#/components/schemas/capability'
    callbacks:
      type: object
      properties:
        url:
          description: Contains primary and or fallback callback URLs
          type: object
          properties:
            primary:
              type: string
              description: Your primary callback URL
              example: https://primary.yourcallback.com/
            fallback:
              type: string
              description: Your fallback callback URL (returned if configured). It is used only if Sinch platform gets a timeout or error from your primary callback URL.
              example: https://fallback.yourcallback.com/
    updateNumbers:
      type: object
      example:
        numbers:
        - '+14151112223333'
        applicationkey: 11983f76-12c8-1111-9515-4785c7b67ca8
        capability: voice
      properties:
        numbers:
          type: array
          description: The phone number or list of numbers in E.164 format.
          items:
            type: string
          minItems: 1
          maxItems: 100
          example:
          - '+14151112223333'
          - '+14151112223333'
        applicationkey:
          description: indicates the application where the number(s) will be assigned. If empty, the application key that is used to sign the request will be used.
          type: string
          example: 11983f76-12c8-1111-9515-4785c7b67ca8
        capability:
          description: indicates the DID capability that needs to be assigned to the chosen application. Please note that the DID needs to support the selected capability.
          allOf:
          - $ref: '#/components/schemas/capability'
    getQueryNumber:
      type: object
      properties:
        number:
          type: object
          description: The number item object.
          properties:
            countryId:
              type: string
              description: The ISO 3166-1 formatted country code.
              example: SE
            numberType:
              type: string
              x-enumDescriptions:
                Unknown: Unknown number type.
                Fixed: A fixed number.
                Mobile: A mobile number.
                Other: A type other than fixed or mobile.
              enum:
              - Unknown
              - Fixed
              - Mobile
              - Other
              description: The type of the number.
              example: Fixed
            normalizedNumber:
              type: string
              description: The number in E.164 format.
              example: '+46730170101'
            restricted:
              type: boolean
              description: Concerns whether the call is restricted or not.
              example: false
            rate:
              $ref: '#/components/schemas/price'
    NumberConfiguration:
      type: object
      properties:
        number:
          type: string
          description: The phone number in E.164 format
        applicationKey:
          type: string
          description: The application key the number is assigned to
        capability:
          type: string
          enum:
          - voice
          - sms
          description: The number capability
    ApplicationCallbacks:
      type: object
      properties:
        url:
          type: object
          description: Callback URL configuration
          properties:
            primary:
              type: string
              format: uri
              description: The primary callback URL
            fallback:
              type: string
              format: uri
              description: The fallback callback URL
    NumberList:
      type: object
      properties:
        numbers:
          type: array
          description: List of phone numbers
          items:
            $ref: '#/components/schemas/NumberConfiguration'
  parameters:
    applicationkey:
      name: applicationkey
      in: path
      schema:
        type: string
      required: true
      description: The unique identifying key of the application.
      example: 94983f76-1161-6655-9515-4785c7b67dd8
    number:
      in: path
      name: number
      schema:
        type: string
      required: true
      description: The phone number you want to query.
      example: '+46730170101'
    ApplicationKey:
      name: application_key
      in: path
      required: true
      description: The application key
      schema:
        type: string
  securitySchemes:
    Basic:
      type: http
      scheme: basic
      description: For more information about basic authentication, see [Basic Authentication](https://developers.sinch.com/docs/voice/api-reference/authentication#basic-authentication).
    Signed:
      type: apiKey
      in: header
      name: Authorization
      description: For more information about signed request authentication, see [Request Signing](https://developers.sinch.com/docs/voice/api-reference/authentication/signed-request).
    basicAuth:
      type: http
      scheme: basic
      description: Application key and secret used for HTTP basic authentication. Application-signed requests are also supported.
externalDocs:
  description: Sinch Voice API Documentation
  url: https://developers.sinch.com/docs/voice
x-refined-from:
- sinch-voice-api-openapi.yaml
- original-sinch-voice-openapi.yml
x-explorer-enabled: false
x-samples-languages:
- curl
- java
- csharp
- node
- php
x-original-swagger-version: '2.0'