Sinch Elastic SIP Trunk API

Create and manage elastic SIP trunks, SIP endpoints, access control lists and phone numbers.

Operations 46

GET /v1/projects/{projectId}/calls Find calls #
GET /v1/projects/{projectId}/calls/export Export call records #
GET /v1/projects/{projectId}/calls/records/{pcapId}/pcap Get PCAPs by ID #
GET /v1/projects/{projectId}/callBlockingRules Get call blocking rules #
POST /v1/projects/{projectId}/callBlockingRules Create call blocking rule #
PUT /v1/projects/{projectId}/callBlockingRules/{id} Update blocking rule #
DELETE /v1/projects/{projectId}/callBlockingRules/{id} Delete blocking rule #
GET /v1/projects/{projectId}/trunks/{sipTrunkId}/endpoints Return SIP endpoints #
POST /v1/projects/{projectId}/trunks/{sipTrunkId}/endpoints Create SIP endpoint #
GET /v1/projects/{projectId}/trunks/{sipTrunkId}/endpoints/{sipEndpointId} Get SIP endpoint by ID #
PUT /v1/projects/{projectId}/trunks/{sipTrunkId}/endpoints/{sipEndpointId} Update existing SIP endpoint #
DELETE /v1/projects/{projectId}/trunks/{sipTrunkId}/endpoints/{sipEndpointId} Delete SIP endpoint #
POST /v1/projects/{projectId}/trunks Create SIP trunk #
GET /v1/projects/{projectId}/trunks List SIP trunks #
GET /v1/projects/{projectId}/trunks/{sipTrunkId} Get SIP Trunk #
PUT /v1/projects/{projectId}/trunks/{sipTrunkId} Update SIP trunk #
DELETE /v1/projects/{projectId}/trunks/{sipTrunkId} Delete SIP trunk #
GET /v1/projects/{projectId}/phoneNumbers Get all phone numbers #
GET /v1/projects/{projectId}/phoneNumbers/{phoneNumber} Find a specific phone number #
GET /v1/projects/{projectId}/countryPermissions Fetch all country permissions #
GET /v1/projects/{projectId}/countryPermissions/{isoCode} Fetch country permission #
PUT /v1/projects/{projectId}/countryPermissions/{isoCode} Update country permission #
GET /v1/projects/{projectId}/accessControlLists List ACLs #
POST /v1/projects/{projectId}/accessControlLists Create an ACL #
GET /v1/projects/{projectId}/accessControlLists/{id} Get access control list #
PUT /v1/projects/{projectId}/accessControlLists/{id} Update ACL #
DELETE /v1/projects/{projectId}/accessControlLists/{id} Delete ACL #
GET /v1/projects/{projectId}/accessControlLists/{id}/trunks Get trunks for ACL #
POST /v1/projects/{projectId}/accessControlLists/{accessControlListId}/ipRanges Add IP range to ACL #
GET /v1/projects/{projectId}/accessControlLists/{accessControlListId}/ipRanges List all IP ranges for ACL #
DELETE /v1/projects/{projectId}/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId} Delete IP range from ACL #
PUT /v1/projects/{projectId}/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId} Update IP range #
GET /v1/projects/{projectId}/credentialLists/{id} Get credential list #
PUT /v1/projects/{projectId}/credentialLists/{id} Update a credential list #
DELETE /v1/projects/{projectId}/credentialLists/{id} Delete a credential list #
PUT /v1/projects/{projectId}/credentialLists/{credentialListId}/credentials/{username} Update the password for a credential #
DELETE /v1/projects/{projectId}/credentialLists/{credentialListId}/credentials/{username} Delete a credential #
DELETE /v1/projects/{projectId}/trunks/{trunkId}/credentialLists/{credentialListId} Remove credential list from sip trunk #
GET /v1/projects/{projectId}/credentialLists/{id}/trunks Get trunks for credential list #
POST /v1/projects/{projectId}/trunks/{trunkId}/accessControlLists Add ACL to a trunk #
GET /v1/projects/{projectId}/trunks/{trunkId}/accessControlLists List all ACLs for a trunk #
GET /v1/projects/{projectId}/trunks/{trunkId}/credentialLists Get credential lists for SIP trunk #
POST /v1/projects/{projectId}/trunks/{trunkId}/credentialLists Add credential lists to SIP trunk #
PUT /v1/projects/{projectId}/trunks/{trunkId}/credentialLists Bulk update credential lists for a trunk #
DELETE /v1/projects/{projectId}/trunks/{trunkId}/accessControlLists/{accessControlListId} Delete ACL from trunk #
POST /v1/projects/{projectId}/addProjects Add additional projects to EST #

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-elastic-sip-trunking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-elastic-sip-trunking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elastic SIP Trunk API
  description: 'This document provides a detailed user guide and reference documentation on the Sinch Elastic SIP Trunk API. For information on how to authenticate API requests, please check the Authentication section.


    ## Authentication


    Elastic SIP Trunk API supports both [basic](https://developers.sinch.com/docs/est/api-reference/est/section/authentication#basic) and [OAuth2](https://developers.sinch.com/docs/est/api-reference/est/section/authentication#oauth2) authentication types.


    ### Basic


    {% partial file="/partials/authentication/basic/_intro.md"/ %}

    {% partial file="/partials/authentication/basic/_instructions.md"/ %}


    ### OAuth2


    {% partial file="/partials/authentication/oauth/_intro.md"/ %}

    {% partial file="/partials/authentication/oauth/_instructions.md"/ %}


    ## Servers


    Elastic SIP Trunk API serves all endpoints from the following server:


    ```https://elastic-trunking.api.sinch.com/v1/projects/{projectId}```


    {% admonition type="info" name="Note:" %}

    The `projectId` is a required parameter you must include when making any API calls. You can find your project ID on your [dashboard](https://dashboard.sinch.com).

    {% /admonition %}'
  version: 1.0.0
  license:
    name: MIT
    url: https://www.sinch.com/legal
  contact:
    email: support@sinch.com
    name: support at sinch
security:
- Basic: []
- OAuth2.0: []
servers:
- url: https://elastic-trunking.api.sinch.com
tags:
- name: SIP Trunks
  description: The SIP Trunks endpoint has operations that allow you to create, view, update, and remove SIP trunks.
- name: SIP Endpoints
  description: A SIP endpoint is the resource that represents your SIP infrastructure, typically an SBC. Note the Elastic SIP Trunk API does not support user registration and presence.
- name: Country Permissions
  description: 'Country permissions are used to control which countries can be dialed from a specific SIP trunk. You can view, update, and remove country permissions. For beta, only US, CA and wild card are supported.

    Please note that these permissions are not per trunk but rather they are per project/account. In the future Sinch may extend these permissions to other voice and messaging products.

    If you are using sub-projects you can use the same country permissions for all sub-projects.

    You can also specify different country permissions for each sub-project that will override the parent country permissions.'
- name: Phone Numbers
  description: The `/phoneNumbers` endpoint has operations that allow you to assign and remove phone numbers from SIP trunks.
- name: Calls
  description: The `/calls` endpoint has operations that allow you to retrieve call history and details about calls made or received using EST.
- name: Call Blocking Rules
  description: The Call Blocking Rules endpoint has operations that allow you to configure and manage your call blocking rules for your EST solution.
- name: Access Control List
  description: 'The Access Control List (ACL) endpoint has operations that allow you to create, view, update, and remove ACLs.

    You use ACLs to control which IP addresses can send traffic to your SIP trunk. You can create multiple ACLs and assign them to multiple SIP trunks. In order to make outbound calls you need to have at least one ACL set up.'
  x-displayName: Access Control Lists
- name: Credential Lists
  description: "The Credential Lists endpoint has operations that allow you to view and manage credential lists. \nYou use credential lists to easily configure which users are allowed to make calls on a trunk."
- name: Credentials
  description: The Credentials endpoint has operations that allow you to manage credentials within a credential list.


# --- truncated at 32 KB (131 KB total) ---
# Full source: https://artifacts.apis.io/sinch/openapi/sinch-elastic-sip-trunking-api-openapi.yml