{"items":[{"type":"link","label":"Elastic SIP Trunk API","link":"/docs/est/api-reference/est","routeSlug":"/docs/est/api-reference/est","content":{"contentType":"overview","meta":{"name":"Elastic SIP Trunk API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"est.json","url":"/_bundle/docs/est/api-reference/est.json?download"},{"kind":"download","label":"est.yaml","url":"/_bundle/docs/est/api-reference/est.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"email","title":"support at sinch","email":"support@sinch.com","label":"support@sinch.com","withCopyButton":true,"copyContent":"support@sinch.com"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"MIT","url":"https://www.sinch.com/toc"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":"","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"projectId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a required parameter you must include when making any API calls. You can find your project ID on your "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://dashboard.sinch.com"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"dashboard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Elastic SIP Trunk API (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]}]}],"sectionId":"/docs/est/api-reference/est"}],"sectionId":"/docs/est/api-reference/est"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/authentication"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Elastic SIP Trunk API supports both "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est/section/authentication#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"basic"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est/section/authentication#oauth2"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth2"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" authentication types."},"children":[]}]}]}]}],"sectionId":"/docs/est/api-reference/est/section/authentication"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/basic"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"partial","attributes":{"file":"partials/authentication/basic/_intro.md","variables":{"$$apiDocsHeadingScope":{"operationId":""}}},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"partial","attributes":{"file":"partials/authentication/basic/_instructions.md","variables":{"$$apiDocsHeadingScope":{"operationId":""}}},"children":[]}]}],"sectionId":"/docs/est/api-reference/est/section/basic"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/oauth2"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth2"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"partial","attributes":{"file":"partials/authentication/oauth/_intro.md","variables":{"$$apiDocsHeadingScope":{"operationId":""}}},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"partial","attributes":{"file":"partials/authentication/oauth/_instructions.md","variables":{"$$apiDocsHeadingScope":{"operationId":""}}},"children":[]}]}],"sectionId":"/docs/est/api-reference/est/section/oauth2"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/servers"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Servers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Elastic SIP Trunk API serves all endpoints from the following server:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"info","name":"Note:"},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"projectId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a required parameter you must include when making any API calls. You can find your project ID on your "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://dashboard.sinch.com"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"dashboard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"sectionId":"/docs/est/api-reference/est/section/servers"}]}]}},{"type":"link","label":"Authentication","link":"/docs/est/api-reference/est/section/authentication","routeSlug":"/docs/est/api-reference/est/section/authentication","content":null},{"type":"link","label":"Basic","link":"/docs/est/api-reference/est/section/basic","routeSlug":"/docs/est/api-reference/est/section/basic","content":null},{"type":"link","label":"OAuth2","link":"/docs/est/api-reference/est/section/oauth2","routeSlug":"/docs/est/api-reference/est/section/oauth2","content":null},{"type":"link","label":"Servers","link":"/docs/est/api-reference/est/section/servers","routeSlug":"/docs/est/api-reference/est/section/servers","content":null},{"type":"group","label":"SIP Trunks","link":"/docs/est/api-reference/est/sip-trunks","routeSlug":"/docs/est/api-reference/est/sip-trunks","items":[{"label":"Create SIP trunk","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/createsiptrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/createsiptrunk","metadata":{"seo":{"title":"Create SIP trunk","description":"Creates a new SIP trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createSipTrunk","name":"Create SIP trunk","isWebhook":false,"pointer":"/paths/~1trunks/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create SIP trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new SIP trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"schemaId":"components/schemas/SipTrunk","pointer":"/paths/~1trunks/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/trunks","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"responseCodes":["201"],"pointer":"/trunks","href":"sip-trunks/createsiptrunk","openApiOperationId":"createSipTrunk","summary":"Create SIP trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.sipTrunks.create({\n      createSipTrunkRequestBody: {\n        name: 'Acme Trunk',\n        hostName: 'acme-domain-1',\n      },\n    });\n    console.log('✅ Successfully created the SIP Trunk.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error('❌ Failed to create the SIP Trunk:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/SipTrunk","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"SIP trunk created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"schemaId":"components/schemas/SipTrunk"}],"pointer":"/paths/~1trunks/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/SipTrunk","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/createsiptrunk"}],"panels":[]}]},"httpPath":"/trunks"},{"label":"List SIP trunks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/getsiptrunks","routeSlug":"/docs/est/api-reference/est/sip-trunks/getsiptrunks","metadata":{"seo":{"title":"List SIP trunks","description":"Returns a list of all SIP trunks. If you specify pagination settings, the list of SIP trunks can be returned separated and sorted into pages."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSipTrunks","name":"List SIP trunks","isWebhook":false,"pointer":"/paths/~1trunks/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List SIP trunks","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all SIP trunks. If you specify pagination settings, the list of SIP trunks can be returned separated and sorted into pages."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"},{"name":"domain","in":"query","schemaId":"schema_596","description":"Filter by domain"}],"pointer":"/paths/~1trunks/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"},{"name":"domain","in":"query","required":false,"schemaId":"schema_596"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks","href":"sip-trunks/getsiptrunks","openApiOperationId":"getSipTrunks","summary":"List SIP trunks","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.list({});\n    if (response.data.length === 0) {\n      console.log('No SIP Trunks found.');\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} SIP Trunks.`);\n    response.data.forEach((trunk) => {\n      console.log(trunk);\n    });\n  } catch (err) {\n    console.error('❌ Failed to list the SIP Trunks:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request completed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597"}},"schemaId":"schema_597"}],"pointer":"/paths/~1trunks/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_597","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/getsiptrunks"}],"panels":[]}]},"httpPath":"/trunks"},{"label":"Get SIP Trunk","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/getsiptrunkbyid","routeSlug":"/docs/est/api-reference/est/sip-trunks/getsiptrunkbyid","metadata":{"seo":{"title":"Get SIP Trunk","description":"Search for a SIP trunk by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSipTrunkById","name":"Get SIP Trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get SIP Trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Search for a SIP trunk by ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{sipTrunkId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}","href":"sip-trunks/getsiptrunkbyid","openApiOperationId":"getSipTrunkById","summary":"Get SIP Trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to retrieve\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.get({ sipTrunkId });\n    console.log('✅ Successfully retrieved the SIP Trunk.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"SIP trunk found successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"schemaId":"components/schemas/SipTrunk"}],"pointer":"/paths/~1trunks~1{sipTrunkId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SipTrunk","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/getsiptrunkbyid"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}"},{"label":"Update SIP trunk","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/updatesiptrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/updatesiptrunk","metadata":{"seo":{"title":"Update SIP trunk","description":"Update an existing SIP Trunk by ID. The whole object must be sent. Any missing fields will be set to null."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateSipTrunk","name":"Update SIP trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update SIP trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an existing SIP Trunk by ID. The whole object must be sent. Any missing fields will be set to null."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"schemaId":"components/schemas/SipTrunk","pointer":"/paths/~1trunks~1{sipTrunkId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/trunks/{sipTrunkId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}","href":"sip-trunks/updatesiptrunk","openApiOperationId":"updateSipTrunk","summary":"Update SIP trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to update\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.update({\n      sipTrunkId,\n      updateSipTrunkRequestBody: {\n        name: 'Acme Trunk',\n        hostName: 'acme-domain-1',\n      },\n    });\n    console.log('✅ Successfully updated the SIP Trunk.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/SipTrunk","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"SIP trunk updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}},"schemaId":"components/schemas/SipTrunk"}],"pointer":"/paths/~1trunks~1{sipTrunkId}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SipTrunk","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipTrunk"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/updatesiptrunk"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}"},{"label":"Delete SIP trunk","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/deletesiptrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/deletesiptrunk","metadata":{"seo":{"title":"Delete SIP trunk","description":"Delete a SIP trunk by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteSipTrunk","name":"Delete SIP trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete SIP trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a SIP trunk by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/trunks/{sipTrunkId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/trunks/{sipTrunkId}","href":"sip-trunks/deletesiptrunk","openApiOperationId":"deleteSipTrunk","summary":"Delete SIP trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to delete\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    await sinch.elasticSipTrunking.sipTrunks.delete({ sipTrunkId });\n    console.log(`✅ Successfully deleted the SIP Trunk with ID ${sipTrunkId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The SIP trunk deleted successfully"}],"pointer":"/paths/~1trunks~1{sipTrunkId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/deletesiptrunk"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}"},{"label":"Remove credential list from sip trunk","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/removecredentiallistfromtrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/removecredentiallistfromtrunk","metadata":{"seo":{"title":"Remove credential list from sip trunk","description":"Remove credential list from sip trunk"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"removeCredentialListFromTrunk","name":"Remove credential list from sip trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists~1{credentialListId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove credential list from sip trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk.","required":true},{"name":"credentialListId","in":"path","schemaId":"schema_596","description":"The ID of the credential list entry.","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists~1{credentialListId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/trunks/{trunkId}/credentialLists/{credentialListId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"credentialListId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/trunks/{trunkId}/credentialLists/{credentialListId}","href":"sip-trunks/removecredentiallistfromtrunk","openApiOperationId":"removeCredentialListFromTrunk","summary":"Remove credential list from sip trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to remove a credential list from\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The credential list ID you want to remove from the SIP Trunk\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    await sinch.elasticSipTrunking.sipTrunks.deleteCredentialList({\n      trunkId: sipTrunkId,\n      credentialListId,\n    });\n    console.log(`✅ Successfully removed credential list ${credentialListId} from the SIP Trunk with ID ${sipTrunkId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to remove credential list ${credentialListId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists~1{credentialListId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/removecredentiallistfromtrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/credentialLists/{credentialListId}"},{"label":"Add ACL to a trunk","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/addaccesscontrollisttotrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/addaccesscontrollisttotrunk","metadata":{"seo":{"title":"Add ACL to a trunk","description":"Add an access control list entry to a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addAccessControlListToTrunk","name":"Add ACL to a trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add ACL to a trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Add an access control list entry to a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/trunks/{trunkId}/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"responseCodes":["200"],"pointer":"/trunks/{trunkId}/accessControlLists","href":"sip-trunks/addaccesscontrollisttotrunk","openApiOperationId":"addAccessControlListToTrunk","summary":"Add ACL to a trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to add ACLs to\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.accessControlList.addToTrunk({\n      trunkId: sipTrunkId,\n      addAccessControlListToTrunkRequestBody: {\n        accessControlListIds: [\n          'AN_ACL_ID_TO_ADD',\n          'ANOTHER_ACL_ID_TO_ADD',\n        ],\n      },\n    });\n    console.log('✅ Successfully added the ACLs to the SIP Trunk.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to add the ACLs to the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}},"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/addaccesscontrollisttotrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists"},{"label":"List all ACLs for a trunk","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/getaccesscontrollistsfortrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/getaccesscontrollistsfortrunk","metadata":{"seo":{"title":"List all ACLs for a trunk","description":"Get all access control list entries for a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAccessControlListsForTrunk","name":"List all ACLs for a trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all ACLs for a trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all access control list entries for a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{trunkId}/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{trunkId}/accessControlLists","href":"sip-trunks/getaccesscontrollistsfortrunk","openApiOperationId":"getAccessControlListsForTrunk","summary":"List all ACLs for a trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to list ACLs for\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.accessControlList.listForTrunk({\n      trunkId: sipTrunkId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No ACLs found for the SIP Trunk with ID ${sipTrunkId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} ACLs for the SIP Trunk with ID ${sipTrunkId}.`);\n    response.data.forEach((acl) => {\n      console.log(acl);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the ACLs for the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}},"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/getaccesscontrollistsfortrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists"},{"label":"Get credential lists for SIP trunk","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/getcredentiallistsfortrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/getcredentiallistsfortrunk","metadata":{"seo":{"title":"Get credential lists for SIP trunk","description":"Return all the credential lists for a specified SIP trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCredentialListsForTrunk","name":"Get credential lists for SIP trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get credential lists for SIP trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return all the credential lists for a specified SIP trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"},{"name":"sort","in":"query","schemaId":"schema_601","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array setting the sorting criteria in the format of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property,(ascending/descending)"},"children":[]}]}]}]}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{trunkId}/credentialLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"},{"name":"sort","in":"query","schemaId":"schema_601"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{trunkId}/credentialLists","href":"sip-trunks/getcredentiallistsfortrunk","openApiOperationId":"getCredentialListsForTrunk","summary":"Get credential lists for SIP trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to list credential lists for\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.listCredentialLists({\n      trunkId: sipTrunkId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No credential lists found for the SIP Trunk with ID ${sipTrunkId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} credential lists for the SIP Trunk with ID ${sipTrunkId}.`);\n    response.data.forEach((credentialList) => {\n      console.log(credentialList);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the credential lists for the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_602"}},"schemaId":"schema_602"}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_602","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_602"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/getcredentiallistsfortrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/credentialLists"},{"label":"Add credential lists to SIP trunk","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/addcredentiallisttotrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/addcredentiallisttotrunk","metadata":{"seo":{"title":"Add credential lists to SIP trunk","description":"Add credential lists to a specified SIP trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addCredentialListToTrunk","name":"Add credential lists to SIP trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add credential lists to SIP trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Add credential lists to a specified SIP trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CredentialListIds"}},"schemaId":"components/schemas/CredentialListIds","pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/trunks/{trunkId}/credentialLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CredentialListIds"}},"responseCodes":["200"],"pointer":"/trunks/{trunkId}/credentialLists","href":"sip-trunks/addcredentiallisttotrunk","openApiOperationId":"addCredentialListToTrunk","summary":"Add credential lists to SIP trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to add credential lists to\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.addCredentialLists({\n      trunkId: sipTrunkId,\n      addCredentialListIdsToTrunkRequestBody: {\n        credentialListIds: [\n          'CREDENTIAL_LIST_ID_TO_ADD',\n        ],\n      },\n    });\n    console.log(`✅ Successfully added credential lists to the SIP Trunk with ID ${sipTrunkId}.`);\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to add credential lists to the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/CredentialListIds","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CredentialListIds"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListIds"}},"schemaId":"components/schemas/CredentialListIds"}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CredentialListIds","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListIds"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/addcredentiallisttotrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/credentialLists"},{"label":"Bulk update credential lists for a trunk","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/bulkupdatecredentiallistsfortrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/bulkupdatecredentiallistsfortrunk","metadata":{"seo":{"title":"Bulk update credential lists for a trunk","description":"Update the list of credential list entries for a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bulkUpdateCredentialListsForTrunk","name":"Bulk update credential lists for a trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Bulk update credential lists for a trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the list of credential list entries for a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_603","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_603","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/trunks/{trunkId}/credentialLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_603","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/trunks/{trunkId}/credentialLists","href":"sip-trunks/bulkupdatecredentiallistsfortrunk","openApiOperationId":"bulkUpdateCredentialListsForTrunk","summary":"Bulk update credential lists for a trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to update credential lists for\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipTrunks.updateCredentialLists({\n      trunkId: sipTrunkId,\n      updateCredentialListIdsForTrunkRequestBody: {\n        credentialListIds: [\n          'CREDENTIAL_LIST_ID',\n        ],\n      },\n    });\n    console.log(`✅ Successfully updated credential lists for the SIP Trunk with ID ${sipTrunkId}.`);\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update credential lists for the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"schema_603","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_603","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of credential list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_604","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example"]}],"pointer":"/paths/~1trunks~1{trunkId}~1credentialLists/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_604","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604","exampleIds":["paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/bulkupdatecredentiallistsfortrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/credentialLists"},{"label":"Delete ACL from trunk","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-trunks/deleteaccesscontrollistfromtrunk","routeSlug":"/docs/est/api-reference/est/sip-trunks/deleteaccesscontrollistfromtrunk","metadata":{"seo":{"title":"Delete ACL from trunk","description":"Remove an access control list entry from a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAccessControlListFromTrunk","name":"Delete ACL from trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete ACL from trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Remove an access control list entry from a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true},{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry. that you want to remove from trunk","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","href":"sip-trunks/deleteaccesscontrollistfromtrunk","openApiOperationId":"deleteAccessControlListFromTrunk","summary":"Delete ACL from trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to delete the ACL from\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The ACL ID you want to delete from the SIP Trunk\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    await sinch.elasticSipTrunking.accessControlList.deleteFromTrunk({\n      trunkId: sipTrunkId,\n      accessControlListId: aclId,\n    });\n    console.log(`✅ Successfully deleted the ACL ${aclId} from the SIP Trunk with ID ${sipTrunkId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the ACL ${aclId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Access control list entry deleted"}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-trunks/deleteaccesscontrollistfromtrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists/{accessControlListId}"}],"content":{"contentType":"group","meta":{"name":"SIP Trunks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SIP Trunks","showPageActions":true},{"nodeType":"markdoc","content":"The SIP Trunks endpoint has operations that allow you to create, view, update, and remove SIP trunks."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/trunks","summary":"Create SIP trunk","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sip-trunks/createsiptrunk","deprecated":false},{"title":"/trunks","summary":"List SIP trunks","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-trunks/getsiptrunks","deprecated":false},{"title":"/trunks/{sipTrunkId}","summary":"Get SIP Trunk","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-trunks/getsiptrunkbyid","deprecated":false},{"title":"/trunks/{sipTrunkId}","summary":"Update SIP trunk","prefix":{"name":"put","color":"put"},"badges":[],"link":"/sip-trunks/updatesiptrunk","deprecated":false},{"title":"/trunks/{sipTrunkId}","summary":"Delete SIP trunk","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/sip-trunks/deletesiptrunk","deprecated":false},{"title":"/trunks/{trunkId}/credentialLists/{credentialListId}","summary":"Remove credential list from sip trunk","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/sip-trunks/removecredentiallistfromtrunk","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists","summary":"Add ACL to a trunk","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sip-trunks/addaccesscontrollisttotrunk","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists","summary":"List all ACLs for a trunk","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-trunks/getaccesscontrollistsfortrunk","deprecated":false},{"title":"/trunks/{trunkId}/credentialLists","summary":"Get credential lists for SIP trunk","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-trunks/getcredentiallistsfortrunk","deprecated":false},{"title":"/trunks/{trunkId}/credentialLists","summary":"Add credential lists to SIP trunk","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sip-trunks/addcredentiallisttotrunk","deprecated":false},{"title":"/trunks/{trunkId}/credentialLists","summary":"Bulk update credential lists for a trunk","prefix":{"name":"put","color":"put"},"badges":[],"link":"/sip-trunks/bulkupdatecredentiallistsfortrunk","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","summary":"Delete ACL from trunk","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/sip-trunks/deleteaccesscontrollistfromtrunk","deprecated":false}]}]}]}]}},{"type":"group","label":"SIP Endpoints","link":"/docs/est/api-reference/est/sip-endpoints","routeSlug":"/docs/est/api-reference/est/sip-endpoints","items":[{"label":"Return SIP endpoints","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-endpoints/getsipendpoint","routeSlug":"/docs/est/api-reference/est/sip-endpoints/getsipendpoint","metadata":{"seo":{"title":"Return SIP endpoints","description":"Returns a list of all SIP endpoints with paging."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSipEndpoint","name":"Return SIP endpoints","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Return SIP endpoints","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all SIP endpoints with paging."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{sipTrunkId}/endpoints","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}/endpoints","href":"sip-endpoints/getsipendpoint","openApiOperationId":"getSipEndpoint","summary":"Return SIP endpoints","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID to list SIP Endpoints from\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipEndpoints.list({\n      sipTrunkId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No SIP Endpoints found for the SIP Trunk with ID ${sipTrunkId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} SIP Endpoints.`);\n    response.data.forEach((endpoint) => {\n      console.log(endpoint);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the SIP Endpoints for the SIP Trunk with ID ${sipTrunkId}`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}},"schemaId":"schema_605"}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_605","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-endpoints/getsipendpoint"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}/endpoints"},{"label":"Create SIP endpoint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-endpoints/createsipendpoint","routeSlug":"/docs/est/api-reference/est/sip-endpoints/createsipendpoint","metadata":{"seo":{"title":"Create SIP endpoint","description":"Create a new SIP endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createSipEndpoint","name":"Create SIP endpoint","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create SIP endpoint","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new SIP endpoint."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"schemaId":"components/schemas/SipEndpoint","pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/trunks/{sipTrunkId}/endpoints","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}/endpoints","href":"sip-endpoints/createsipendpoint","openApiOperationId":"createSipEndpoint","summary":"Create SIP endpoint","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to create the endpoint in\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipEndpoints.create({\n      sipTrunkId,\n      createSipEndpointRequestBody: {\n        address: '127.0.0.1',\n        name: 'Acme Endpoint',\n        priority: 1,\n      },\n    });\n    console.log('✅ Successfully created the SIP Endpoint.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error('❌ Failed to create the SIP Endpoint:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/SipEndpoint","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}},"schemaId":"schema_605"}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_605","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-endpoints/createsipendpoint"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}/endpoints"},{"label":"Get SIP endpoint by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-endpoints/getsipendpointbyid","routeSlug":"/docs/est/api-reference/est/sip-endpoints/getsipendpointbyid","metadata":{"seo":{"title":"Get SIP endpoint by ID","description":"Get a SIP endpoint by specifying its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSipEndpointById","name":"Get SIP endpoint by ID","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get SIP endpoint by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a SIP endpoint by specifying its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true},{"name":"sipEndpointId","in":"path","schemaId":"schema_606","description":"The ID of the SIP endpoint.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"sipEndpointId","in":"path","required":true,"schemaId":"schema_606"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","href":"sip-endpoints/getsipendpointbyid","openApiOperationId":"getSipEndpointById","summary":"Get SIP endpoint by ID","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID of the SIP Endpoint you want to retrieve\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The SIP Endpoint ID you want to retrieve\n  const sipEndpointId = 'SIP_ENDPOINT_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipEndpoints.get({\n      sipTrunkId,\n      sipEndpointId,\n    });\n    console.log('✅ Successfully retrieved the SIP Endpoint.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to fetch the SIP Endpoint with ID ${sipEndpointId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"schemaId":"components/schemas/SipEndpoint"}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SipEndpoint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-endpoints/getsipendpointbyid"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}"},{"label":"Update existing SIP endpoint","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-endpoints/updatesipendpoint","routeSlug":"/docs/est/api-reference/est/sip-endpoints/updatesipendpoint","metadata":{"seo":{"title":"Update existing SIP endpoint","description":"Updated an existing SIP endpoint by specifying its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateSipEndpoint","name":"Update existing SIP endpoint","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update existing SIP endpoint","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Updated an existing SIP endpoint by specifying its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true},{"name":"sipEndpointId","in":"path","schemaId":"schema_606","description":"The ID of the SIP endpoint.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"schemaId":"components/schemas/SipEndpoint","pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"sipEndpointId","in":"path","required":true,"schemaId":"schema_606"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"responseCodes":["200"],"pointer":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","href":"sip-endpoints/updatesipendpoint","openApiOperationId":"updateSipEndpoint","summary":"Update existing SIP endpoint","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to update the endpoint for\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The SIP Endpoint ID you want to update\n  const sipEndpointId = 'SIP_ENDPOINT_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.sipEndpoints.update({\n      sipTrunkId,\n      sipEndpointId,\n      updateSipEndpointRequestBody: {\n        address: '127.0.0.1',\n        name: 'Acme Endpoint',\n        priority: 1,\n      },\n    });\n    console.log('✅ Successfully updated the SIP Endpoint.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the SIP Endpoint with ID ${sipEndpointId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/SipEndpoint","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}},"schemaId":"components/schemas/SipEndpoint"}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SipEndpoint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SipEndpoint"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-endpoints/updatesipendpoint"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}"},{"label":"Delete SIP endpoint","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/sip-endpoints/deletesipendpoint","routeSlug":"/docs/est/api-reference/est/sip-endpoints/deletesipendpoint","metadata":{"seo":{"title":"Delete SIP endpoint","description":"Delete a SIP endpoint by specifying its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteSipEndpoint","name":"Delete SIP endpoint","isWebhook":false,"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete SIP endpoint","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a SIP endpoint by specifying its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"sipTrunkId","in":"path","schemaId":"schema_596","description":"The ID of the SIP trunk.","required":true},{"name":"sipEndpointId","in":"path","schemaId":"schema_606","description":"The ID of the SIP endpoint.","required":true}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"sipTrunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"sipEndpointId","in":"path","required":true,"schemaId":"schema_606"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","href":"sip-endpoints/deletesipendpoint","openApiOperationId":"deleteSipEndpoint","summary":"Delete SIP endpoint","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to delete the SIP Endpoint from\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The SIP Endpoint ID you want to delete\n  const sipEndpointId = 'SIP_ENDPOINT_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    await sinch.elasticSipTrunking.sipEndpoints.delete({\n      sipTrunkId,\n      sipEndpointId,\n    });\n    console.log(`✅ Successfully deleted the SIP Endpoint with ID: ${sipEndpointId} from the SIP Trunk with ID ${sipTrunkId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the SIP Endpoint with ID ${sipEndpointId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"SIP endpoint deleted successfully."}],"pointer":"/paths/~1trunks~1{sipTrunkId}~1endpoints~1{sipEndpointId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sip-endpoints/deletesipendpoint"}],"panels":[]}]},"httpPath":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}"}],"content":{"contentType":"group","meta":{"name":"SIP Endpoints"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SIP Endpoints","showPageActions":true},{"nodeType":"markdoc","content":"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."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/trunks/{sipTrunkId}/endpoints","summary":"Return SIP endpoints","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-endpoints/getsipendpoint","deprecated":false},{"title":"/trunks/{sipTrunkId}/endpoints","summary":"Create SIP endpoint","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sip-endpoints/createsipendpoint","deprecated":false},{"title":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","summary":"Get SIP endpoint by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sip-endpoints/getsipendpointbyid","deprecated":false},{"title":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","summary":"Update existing SIP endpoint","prefix":{"name":"put","color":"put"},"badges":[],"link":"/sip-endpoints/updatesipendpoint","deprecated":false},{"title":"/trunks/{sipTrunkId}/endpoints/{sipEndpointId}","summary":"Delete SIP endpoint","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/sip-endpoints/deletesipendpoint","deprecated":false}]}]}]}]}},{"type":"group","label":"Country Permissions","link":"/docs/est/api-reference/est/country-permissions","routeSlug":"/docs/est/api-reference/est/country-permissions","items":[{"label":"Fetch all country permissions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/country-permissions/getcountrypermissions","routeSlug":"/docs/est/api-reference/est/country-permissions/getcountrypermissions","metadata":{"seo":{"title":"Fetch all country permissions","description":"Fetches the list of country permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCountryPermissions","name":"Fetch all country permissions","isWebhook":false,"pointer":"/paths/~1countryPermissions/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch all country permissions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetches the list of country permissions."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/countryPermissions","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/countryPermissions","href":"country-permissions/getcountrypermissions","openApiOperationId":"getCountryPermissions","summary":"Fetch all country permissions","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.countryPermissions.list({});\n    if (!response.countryPermissions?.length) {\n      console.log('No country permissions found.');\n      return;\n    }\n    console.log(`✅ Found ${response.countryPermissions.length} country permissions.`);\n    response.countryPermissions.forEach((countryPermission) => {\n      console.log(countryPermission);\n    });\n  } catch (err) {\n    console.error('❌ Failed to list the country permissions:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of countries available","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_607"}},"schemaId":"schema_607"}],"pointer":"/paths/~1countryPermissions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_607","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_607"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/country-permissions/getcountrypermissions"}],"panels":[]}]},"httpPath":"/countryPermissions"},{"label":"Fetch country permission","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/country-permissions/getcountrypermission","routeSlug":"/docs/est/api-reference/est/country-permissions/getcountrypermission","metadata":{"seo":{"title":"Fetch country permission","description":"Fetches the requested country permission."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCountryPermission","name":"Fetch country permission","isWebhook":false,"pointer":"/paths/~1countryPermissions~1{isoCode}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch country permission","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetches the requested country permission."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"isoCode","in":"path","schemaId":"schema_596","description":"The ISO code of the country.","required":true}],"pointer":"/paths/~1countryPermissions~1{isoCode}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/countryPermissions/{isoCode}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"isoCode","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/countryPermissions/{isoCode}","href":"country-permissions/getcountrypermission","openApiOperationId":"getCountryPermission","summary":"Fetch country permission","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The country code you want to get permissions for\n  const countryCode = 'US';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.countryPermissions.get({\n      isoCode: countryCode,\n    });\n    console.log('✅ Successfully retrieved the country permissions.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the country permissions for country code ${countryCode}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The returned country permission","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CountryPermission"}},"schemaId":"components/schemas/CountryPermission"}],"pointer":"/paths/~1countryPermissions~1{isoCode}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CountryPermission","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CountryPermission"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/country-permissions/getcountrypermission"}],"panels":[]}]},"httpPath":"/countryPermissions/{isoCode}"},{"label":"Update country permission","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/country-permissions/updatecountrypermission","routeSlug":"/docs/est/api-reference/est/country-permissions/updatecountrypermission","metadata":{"seo":{"title":"Update country permission","description":"Update the requested country permission."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCountryPermission","name":"Update country permission","isWebhook":false,"pointer":"/paths/~1countryPermissions~1{isoCode}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update country permission","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the requested country permission."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"isoCode","in":"path","schemaId":"schema_596","description":"The ISO code of the country.","required":true}],"pointer":"/paths/~1countryPermissions~1{isoCode}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CountryPermission"}},"schemaId":"components/schemas/CountryPermission","pointer":"/paths/~1countryPermissions~1{isoCode}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/countryPermissions/{isoCode}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"isoCode","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CountryPermission"}},"responseCodes":["200"],"pointer":"/countryPermissions/{isoCode}","href":"country-permissions/updatecountrypermission","openApiOperationId":"updateCountryPermission","summary":"Update country permission","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // Replace with the country code you want to update permissions for\n  const countryCode = 'US';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.countryPermissions.update({\n      isoCode: countryCode,\n      updateCountryPermissionRequestBody: {\n        enabled: true,\n      },\n    });\n    console.log('✅ Successfully updated the country permissions.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the country permissions for the country code ${countryCode}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/CountryPermission","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CountryPermission"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The updated country permission","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CountryPermission"}},"schemaId":"components/schemas/CountryPermission"}],"pointer":"/paths/~1countryPermissions~1{isoCode}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CountryPermission","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CountryPermission"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/country-permissions/updatecountrypermission"}],"panels":[]}]},"httpPath":"/countryPermissions/{isoCode}"}],"content":{"contentType":"group","meta":{"name":"Country Permissions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Country Permissions","showPageActions":true},{"nodeType":"markdoc","content":"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.\nPlease 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.\nIf you are using sub-projects you can use the same country permissions for all sub-projects.\nYou can also specify different country permissions for each sub-project that will override the parent country permissions."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/countryPermissions","summary":"Fetch all country permissions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/country-permissions/getcountrypermissions","deprecated":false},{"title":"/countryPermissions/{isoCode}","summary":"Fetch country permission","prefix":{"name":"get","color":"get"},"badges":[],"link":"/country-permissions/getcountrypermission","deprecated":false},{"title":"/countryPermissions/{isoCode}","summary":"Update country permission","prefix":{"name":"put","color":"put"},"badges":[],"link":"/country-permissions/updatecountrypermission","deprecated":false}]}]}]}]}},{"type":"group","label":"Phone Numbers","link":"/docs/est/api-reference/est/phone-numbers","routeSlug":"/docs/est/api-reference/est/phone-numbers","items":[{"label":"Get all phone numbers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/phone-numbers/getphonenumbers","routeSlug":"/docs/est/api-reference/est/phone-numbers/getphonenumbers","metadata":{"seo":{"title":"Get all phone numbers","description":"Get all phone numbers. You can filter and sort the phone numbers returned with paging."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetPhoneNumbers","name":"Get all phone numbers","isWebhook":false,"pointer":"/paths/~1phoneNumbers/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all phone numbers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all phone numbers. You can filter and sort the phone numbers returned with paging."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"sipTrunkId","in":"query","schemaId":"schema_606","description":"The ID of the SIP trunk to search for."},{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"},{"name":"sort","in":"query","schemaId":"schema_601","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array setting the sorting criteria in the format of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property,(ascending/descending)"},"children":[]}]}]}]}],"pointer":"/paths/~1phoneNumbers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/phoneNumbers","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[{"name":"sipTrunkId","in":"query","required":false,"schemaId":"schema_606"},{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"},{"name":"sort","in":"query","schemaId":"schema_601"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/phoneNumbers","href":"phone-numbers/getphonenumbers","openApiOperationId":"GetPhoneNumbers","summary":"Get all phone numbers","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const phoneNumbers = [];\n    for await (const entry of sinch.elasticSipTrunking.phoneNumbers.list({})) {\n      phoneNumbers.push(entry);\n    }\n    if (!phoneNumbers.length) {\n      console.log('No phone numbers found.');\n      return;\n    }\n    console.log(`✅ Found ${phoneNumbers.length} phone numbers.`);\n    phoneNumbers.forEach((number) => {\n      console.log(number);\n    });\n  } catch (err) {\n    console.error('❌ Failed to list phone numbers:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response is an array containing phone numbers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_608"}},"schemaId":"schema_608"}],"pointer":"/paths/~1phoneNumbers/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_608","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_608"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/phone-numbers/getphonenumbers"}],"panels":[]}]},"httpPath":"/phoneNumbers"},{"label":"Find a specific phone number","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/phone-numbers/getphonenumberbynumber","routeSlug":"/docs/est/api-reference/est/phone-numbers/getphonenumberbynumber","metadata":{"seo":{"title":"Find a specific phone number","description":"Search for an Elastic SIP Trunk-enabled phone number by the e.164 number."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetPhoneNumberByNumber","name":"Find a specific phone number","isWebhook":false,"pointer":"/paths/~1phoneNumbers~1{phoneNumber}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Find a specific phone number","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Search for an Elastic SIP Trunk-enabled phone number by the e.164 number."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"phoneNumber","in":"path","schemaId":"schema_609","description":"The phone number you want to search for. Must be in E.164 format.","required":true}],"pointer":"/paths/~1phoneNumbers~1{phoneNumber}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/phoneNumbers/{phoneNumber}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"phoneNumber","in":"path","required":true,"example":"+12225559999","schemaId":"schema_609"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/phoneNumbers/{phoneNumber}","href":"phone-numbers/getphonenumberbynumber","openApiOperationId":"GetPhoneNumberByNumber","summary":"Find a specific phone number","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The phone number you want to search for.\n  const phoneNumber = process.env.PHONE_NUMBER ?? '+15552229999';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.phoneNumbers.get({\n      phoneNumber,\n    });\n    console.log('✅ Successfully retrieved the phone number.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the phone number ${phoneNumber}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A successful response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Number"}},"schemaId":"components/schemas/Number"}],"pointer":"/paths/~1phoneNumbers~1{phoneNumber}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/Number","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Number"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/phone-numbers/getphonenumberbynumber"}],"panels":[]}]},"httpPath":"/phoneNumbers/{phoneNumber}"}],"content":{"contentType":"group","meta":{"name":"Phone Numbers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Phone Numbers","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/phoneNumbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint has operations that allow you to assign and remove phone numbers from SIP trunks."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/phoneNumbers","summary":"Get all phone numbers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/phone-numbers/getphonenumbers","deprecated":false},{"title":"/phoneNumbers/{phoneNumber}","summary":"Find a specific phone number","prefix":{"name":"get","color":"get"},"badges":[],"link":"/phone-numbers/getphonenumberbynumber","deprecated":false}]}]}]}]}},{"type":"group","label":"Calls","link":"/docs/est/api-reference/est/calls","routeSlug":"/docs/est/api-reference/est/calls","items":[{"label":"Find calls","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/calls/findcalls","routeSlug":"/docs/est/api-reference/est/calls/findcalls","metadata":{"seo":{"title":"Find calls","description":"Find calls by query parameters."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"findCalls","name":"Find calls","isWebhook":false,"pointer":"/paths/~1calls/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Find calls","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find calls by query parameters."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_610","description":"A phone number that you want to use to filter results. You can pass a partial number to get all calls sent to numbers that start with the number you passed."},{"name":"to","in":"query","schemaId":"schema_610","description":"Only include calls made to this number or address. You can pass a partial number to get all calls sent to numbers that start with the number you passed."},{"name":"trunkId","in":"query","schemaId":"schema_596","description":"Only include calls made from this trunk."},{"name":"createTime","in":"query","schemaId":"schema_611","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter calls based on  "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"createTime"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". You make the query more precise, fewer results will be returned."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For example, 2021-02-01 will return all calls from the first of February 2021, and 2021-02-01T14:00:00Z will return all calls after 14:00 on the first of February."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field also supports <= and >= to search for calls in a range ?createTime>=2021-10-01&createTime<=2021-10-30 to get a list if calls for october 2021"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is also possible to submit partial dates for example createTime=2021-02 will return all calls for February"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to 24 hours"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal notes"},"children":[]}]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a customer submits = and not <> we should add min and max for the date range"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"psueodo sql"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"createTime = 2021-02-01\nselect * from calls where createTime >= 2021-02-01 and createTime <= 2021-02-01T23:59:59Z\n\ncreateTime = 2021-02-01T08\nselect * from calls where createTime >= 2021-02-01T08:00:00 and createTime <= 2021-02-01T08:59:59Z\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"createTime = 2021-02-01\nselect * from calls where createTime >= 2021-02-01 and createTime <= 2021-02-01T23:59:59Z\n\ncreateTime = 2021-02-01T08\nselect * from calls where createTime >= 2021-02-01T08:00:00 and createTime <= 2021-02-01T08:59:59Z\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"but if they submit < or > we should just use the value they submitted and parse it a complete date"},"children":[]}]}]}]},{"name":"callResult","in":"query","schemaId":"schema_612","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only include calls by on the callResult(s), example callResult=COMPLETED will return all calls which have completed normally."},"children":[]}]}]}]},{"name":"direction","in":"query","schemaId":"schema_613","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only include calls by on the direction(s), example direction=INBOUND,OUTBOUND will return all calls that are inbound or outbound."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_596","description":"The page you want to fetch"},{"name":"size","in":"query","schemaId":"schema_614","description":"The maximum number of items to return per request. The default is 100 and the maximum is 1000. If you need to export larger amounts and pagination is not suitable for you can use the Export function in the dashboard."}],"pointer":"/paths/~1calls/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calls","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":false,"schemaId":"schema_610"},{"name":"to","in":"query","required":false,"schemaId":"schema_610"},{"name":"trunkId","in":"query","required":false,"schemaId":"schema_596"},{"name":"createTime","in":"query","required":false,"example":"2021-02-01","schemaId":"schema_611"},{"name":"callResult","in":"query","required":false,"example":"COMPLETED","schemaId":"components/schemas/CallResult"},{"name":"direction","in":"query","required":false,"schemaId":"schema_613"},{"name":"page","in":"query","schemaId":"schema_596"},{"name":"size","in":"query","schemaId":"schema_614"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/calls","href":"calls/findcalls","openApiOperationId":"findCalls","summary":"Find calls","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // Replace with a valid 'from' number in your call history\n  const fromFilter = '+1781';\n  // Replace with one of: 'COMPLETED', 'NO_ANSWER', 'CANCEL', 'BUSY', 'FAILED'\n  const callResultFilter = 'FAILED';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.calls.find({\n      from: fromFilter,\n      callResult: callResultFilter,\n    });\n    if (response.data.length === 0) {\n      console.log('No calls found matching your criteria.');\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} calls.`);\n    response.data.forEach((call) => {\n      console.log(call);\n    });\n  } catch (err) {\n    console.error('❌ Failed to find calls:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Call result response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_615"}},"schemaId":"schema_615"}],"pointer":"/paths/~1calls/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_615","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_615"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calls/findcalls"}],"panels":[]}]},"httpPath":"/calls"},{"label":"Export call records","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/calls/exportcallrecords","routeSlug":"/docs/est/api-reference/est/calls/exportcallrecords","metadata":{"seo":{"title":"Export call records","description":"Export call records for a project. This returns a comma separate value (CSV) response. You can specify which records to export using the query parameters."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"exportCallRecords","name":"Export call records","isWebhook":false,"pointer":"/paths/~1calls~1export/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export call records","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Export call records for a project. This returns a comma separate value (CSV) response. You can specify which records to export using the query parameters."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_610","description":"A phone number that you want to use to filter results. You can pass a partial number to get all calls sent to numbers that start with the number you passed."},{"name":"to","in":"query","schemaId":"schema_610","description":"Only include calls made to this number or address. You can pass a partial number to get all calls sent to numbers that start with the number you passed."},{"name":"trunkId","in":"query","schemaId":"schema_596","description":"Only include calls made from this trunk."},{"name":"createTime","in":"query","schemaId":"schema_611","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter calls based on  "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"createTime"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". You make the query more precise, fewer results will be returned."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For example, 2021-02-01 will return all calls from the first of February 2021, and 2021-02-01T14:00:00Z will return all calls after 14:00 on the first of February."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field also supports <= and >= to search for calls in a range ?createTime>=2021-10-01&createTime<=2021-10-30 to get a list if calls for october 2021"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is also possible to submit partial dates for example createTime=2021-02 will return all calls for February"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to 24 hours"},"children":[]}]}]}]}]}]},{"name":"callResult","in":"query","schemaId":"schema_612","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only include calls by on the callResult(s), example callResult=COMPLETED will return all calls which have completed normally."},"children":[]}]}]}]},{"name":"direction","in":"query","schemaId":"schema_616","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only include calls by on the direction(s), example direction=INBOUND,OUTBOUND will return all calls that are inbound or outbound."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"},{"name":"fromCountryCode","in":"query","schemaId":"schema_617","description":"Set this if you want to filter on the country of the caller phone number."},{"name":"toCountryCode","in":"query","schemaId":"schema_618","description":"Set this if you want to filter on the country of the callee phone number."},{"name":"emergencyOnly","in":"query","schemaId":"schema_619","description":"Set this if you want to filter on emergency calls or not."},{"name":"region","in":"query","schemaId":"schema_620","description":"Set this is you want to filter calls based on the region."},{"name":"projectIds","in":"query","schemaId":"schema_596","description":"Set this if you want to include calls from other projects."},{"name":"fileName","in":"query","schemaId":"schema_596"},{"name":"groupId","in":"query","schemaId":"schema_621","description":"Set this if you want to filter calls based on the group ID."},{"name":"parentId","in":"query","schemaId":"schema_622","description":"Set this if you want to filter calls based on the call's parent ID."},{"name":"relationshipType","in":"query","schemaId":"schema_623","description":"The type of relationship the call has, for example, an initial call or a child call."},{"name":"hasChildren","in":"query","schemaId":"schema_624","description":"Set this if you want to filter on calls with children or not."}],"pointer":"/paths/~1calls~1export/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calls/export","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":false,"schemaId":"schema_610"},{"name":"to","in":"query","required":false,"schemaId":"schema_610"},{"name":"trunkId","in":"query","required":false,"schemaId":"schema_596"},{"name":"createTime","in":"query","required":false,"example":"2021-02-01","schemaId":"schema_611","style":"form","explode":true},{"name":"callResult","in":"query","required":false,"example":"COMPLETED","schemaId":"components/schemas/CallResult","style":"form","explode":false},{"name":"direction","in":"query","required":false,"schemaId":"schema_616","style":"form","explode":false},{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"},{"name":"fromCountryCode","in":"query","required":false,"example":"US","schemaId":"schema_617"},{"name":"toCountryCode","in":"query","required":false,"example":"CA","schemaId":"schema_618"},{"name":"emergencyOnly","in":"query","required":false,"schemaId":"schema_619"},{"name":"region","in":"query","required":false,"example":"us-east","schemaId":"schema_620"},{"name":"projectIds","in":"query","required":false,"schemaId":"schema_596"},{"name":"fileName","in":"query","required":false,"schemaId":"schema_596"},{"name":"groupId","in":"query","required":false,"example":"e234bd85-8uv5-44a2-a973-1f705a0960f5@vp3-i-06a73121dc26a8906.xmpp.vpc","schemaId":"schema_621"},{"name":"parentId","in":"query","required":false,"example":"9128525b-7273-123f-73ae-0225d0254abb","schemaId":"schema_622"},{"name":"relationshipType","in":"query","required":false,"example":"initial","schemaId":"schema_623"},{"name":"hasChildren","in":"query","required":false,"schemaId":"schema_624"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/calls/export","href":"calls/exportcallrecords","openApiOperationId":"exportCallRecords","summary":"Export call records","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // Replace with a valid 'from' number in your call history\n  const fromFilter = '+1440';\n  // Replace with one of: 'COMPLETED', 'NO_ANSWER', 'CANCEL', 'BUSY', 'FAILED'\n  const callResultFilter = 'FAILED';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.calls.export({\n      from: fromFilter,\n      callResult: callResultFilter,\n    });\n    console.log('✅ Successfully exported the call records.');\n    console.log(response);\n  } catch (err) {\n    console.error('❌ Failed to export the call records:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/csv","mediaTypes":["application/csv"],"mediaTypeContent":{"application/csv":{"schemaId":"schema_596"}},"schemaId":"schema_596"}],"pointer":"/paths/~1calls~1export/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_596","mediaTypes":["application/csv"],"mediaTypeContent":{"application/csv":{"schemaId":"schema_596"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calls/exportcallrecords"}],"panels":[]}]},"httpPath":"/calls/export"},{"label":"Get PCAPs by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/calls/getpcap","routeSlug":"/docs/est/api-reference/est/calls/getpcap","metadata":{"seo":{"title":"Get PCAPs by ID","description":"Return PCAPs by the PCAP ID. Returns a .pcap file of the requested call to download. You can find the PCAP ID in the response from '/calls' endpoint. PCAPs are only available for calls from within the last 10 days."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPcap","name":"Get PCAPs by ID","isWebhook":false,"pointer":"/paths/~1calls~1records~1{pcapId}~1pcap/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get PCAPs by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return PCAPs by the PCAP ID. Returns a .pcap file of the requested call to download. You can find the PCAP ID in the response from "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est/calls/findcalls"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"'/calls'"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint. PCAPs are only available for calls from within the last 10 days."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcapId","in":"path","schemaId":"schema_625","description":"The ID of the PCAP you want to retrieve.","required":true}],"pointer":"/paths/~1calls~1records~1{pcapId}~1pcap/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"direction","in":"query","schemaId":"schema_626","description":"Request a PCAP for the call leg specified by the direction. If this query parameter is not included, the default behavior is to return OUTBOUND calls."}],"pointer":"/paths/~1calls~1records~1{pcapId}~1pcap/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calls/records/{pcapId}/pcap","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"pcapId","in":"path","required":true,"example":"0a81e938-07bd-1240-8487-0ecf41868d11","schemaId":"schema_625"}],"query":[{"name":"direction","in":"query","required":false,"schemaId":"schema_626"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/calls/records/{pcapId}/pcap","href":"calls/getpcap","openApiOperationId":"getPcap","summary":"Get PCAPs by ID","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The .pcap file.","mediaType":"application/octet-stream","mediaTypes":["application/octet-stream"],"mediaTypeContent":{"application/octet-stream":{}}}],"pointer":"/paths/~1calls~1records~1{pcapId}~1pcap/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calls/getpcap"}],"panels":[]}]},"httpPath":"/calls/records/{pcapId}/pcap"}],"content":{"contentType":"group","meta":{"name":"Calls"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Calls","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/calls"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint has operations that allow you to retrieve call history and details about calls made or received using EST."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/calls","summary":"Find calls","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calls/findcalls","deprecated":false},{"title":"/calls/export","summary":"Export call records","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calls/exportcallrecords","deprecated":false},{"title":"/calls/records/{pcapId}/pcap","summary":"Get PCAPs by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calls/getpcap","deprecated":false}]}]}]}]}},{"type":"group","label":"Call Blocking Rules","link":"/docs/est/api-reference/est/call-blocking-rules","routeSlug":"/docs/est/api-reference/est/call-blocking-rules","items":[{"label":"Get call blocking rules","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/call-blocking-rules/getblockingrules","routeSlug":"/docs/est/api-reference/est/call-blocking-rules/getblockingrules","metadata":{"seo":{"title":"Get call blocking rules","description":"Return all the call blocking rules for the specified project."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBlockingRules","name":"Get call blocking rules","isWebhook":false,"pointer":"/paths/~1callBlockingRules/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get call blocking rules","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return all the call blocking rules for the specified project."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_594","description":"The page you want to fetch, can set to 1 for first page, or omitted for first page"},{"name":"size","in":"query","schemaId":"schema_595","description":"The size of each page to fetch"},{"name":"sort","in":"query","schemaId":"schema_601","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array setting the sorting criteria in the format of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property,(ascending/descending)"},"children":[]}]}]}]}],"pointer":"/paths/~1callBlockingRules/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/callBlockingRules","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[{"name":"page","in":"query","schemaId":"schema_594"},{"name":"size","in":"query","schemaId":"schema_595"},{"name":"sort","in":"query","schemaId":"schema_601"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/callBlockingRules","href":"call-blocking-rules/getblockingrules","openApiOperationId":"getBlockingRules","summary":"Get call blocking rules","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_627"}},"schemaId":"schema_627"}],"pointer":"/paths/~1callBlockingRules/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_627","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_627"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/call-blocking-rules/getblockingrules"}],"panels":[]}]},"httpPath":"/callBlockingRules"},{"label":"Create call blocking rule","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/call-blocking-rules/createblockingrule","routeSlug":"/docs/est/api-reference/est/call-blocking-rules/createblockingrule","metadata":{"seo":{"title":"Create call blocking rule","description":"Create a call blocking rule for the specified project."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createBlockingRule","name":"Create call blocking rule","isWebhook":false,"pointer":"/paths/~1callBlockingRules/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create call blocking rule","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a call blocking rule for the specified project."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"schemaId":"components/schemas/CallBlockingRule","pointer":"/paths/~1callBlockingRules/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/callBlockingRules","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"responseCodes":["200"],"pointer":"/callBlockingRules","href":"call-blocking-rules/createblockingrule","openApiOperationId":"createBlockingRule","summary":"Create call blocking rule","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/CallBlockingRule","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"schemaId":"components/schemas/CallBlockingRule"}],"pointer":"/paths/~1callBlockingRules/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CallBlockingRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/call-blocking-rules/createblockingrule"}],"panels":[]}]},"httpPath":"/callBlockingRules"},{"label":"Update blocking rule","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/call-blocking-rules/updateblockingrulebyid","routeSlug":"/docs/est/api-reference/est/call-blocking-rules/updateblockingrulebyid","metadata":{"seo":{"title":"Update blocking rule","description":"Update the call blocking rule by the specified ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateBlockingRuleById","name":"Update blocking rule","isWebhook":false,"pointer":"/paths/~1callBlockingRules~1{id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update blocking rule","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the call blocking rule by the specified ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_628","description":"The ID of the call blocking rule to update.","required":true}],"pointer":"/paths/~1callBlockingRules~1{id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"schemaId":"components/schemas/CallBlockingRule","pointer":"/paths/~1callBlockingRules~1{id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/callBlockingRules/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"01KG5BN8Z0HSR2P9GM3K9YA8RE","schemaId":"schema_628"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"responseCodes":["200"],"pointer":"/callBlockingRules/{id}","href":"call-blocking-rules/updateblockingrulebyid","openApiOperationId":"updateBlockingRuleById","summary":"Update blocking rule","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/CallBlockingRule","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}},"schemaId":"components/schemas/CallBlockingRule"}],"pointer":"/paths/~1callBlockingRules~1{id}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CallBlockingRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CallBlockingRule"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/call-blocking-rules/updateblockingrulebyid"}],"panels":[]}]},"httpPath":"/callBlockingRules/{id}"},{"label":"Delete blocking rule","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/call-blocking-rules/deleteblockingrulebyid","routeSlug":"/docs/est/api-reference/est/call-blocking-rules/deleteblockingrulebyid","metadata":{"seo":{"title":"Delete blocking rule","description":"Delete a call blocking rule using its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteBlockingRuleById","name":"Delete blocking rule","isWebhook":false,"pointer":"/paths/~1callBlockingRules~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete blocking rule","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a call blocking rule using its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_628","description":"The ID of the call blocking rule to delete.","required":true}],"pointer":"/paths/~1callBlockingRules~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/callBlockingRules/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"01KG5BN8Z0HSR2P9GM3K9YA8RE","schemaId":"schema_628"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/callBlockingRules/{id}","href":"call-blocking-rules/deleteblockingrulebyid","openApiOperationId":"deleteBlockingRuleById","summary":"Delete blocking rule","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"}],"pointer":"/paths/~1callBlockingRules~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/call-blocking-rules/deleteblockingrulebyid"}],"panels":[]}]},"httpPath":"/callBlockingRules/{id}"}],"content":{"contentType":"group","meta":{"name":"Call Blocking Rules"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Call Blocking Rules","showPageActions":true},{"nodeType":"markdoc","content":"The Call Blocking Rules endpoint has operations that allow you to configure and manage your call blocking rules for your EST solution."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/callBlockingRules","summary":"Get call blocking rules","prefix":{"name":"get","color":"get"},"badges":[],"link":"/call-blocking-rules/getblockingrules","deprecated":false},{"title":"/callBlockingRules","summary":"Create call blocking rule","prefix":{"name":"post","color":"post"},"badges":[],"link":"/call-blocking-rules/createblockingrule","deprecated":false},{"title":"/callBlockingRules/{id}","summary":"Update blocking rule","prefix":{"name":"put","color":"put"},"badges":[],"link":"/call-blocking-rules/updateblockingrulebyid","deprecated":false},{"title":"/callBlockingRules/{id}","summary":"Delete blocking rule","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/call-blocking-rules/deleteblockingrulebyid","deprecated":false}]}]}]}]}},{"type":"group","label":"Access Control Lists","link":"/docs/est/api-reference/est/access-control-list","routeSlug":"/docs/est/api-reference/est/access-control-list","items":[{"label":"List ACLs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/getaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/getaccesscontrollist","metadata":{"seo":{"title":"List ACLs","description":"Fetches the list of Access Control List entries."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAccessControlList","name":"List ACLs","isWebhook":false,"pointer":"/paths/~1accessControlLists/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List ACLs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetches the list of Access Control List entries."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/accessControlLists","href":"access-control-list/getaccesscontrollist","openApiOperationId":"getAccessControlList","summary":"List ACLs","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.list({});\n    if (response.data.length === 0) {\n      console.log('No ACLs found.');\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} ACLs.`);\n    response.data.forEach((acl) => {\n      console.log(acl);\n    });\n  } catch (err) {\n    console.error('❌ Failed to list the ACLs:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of ACL entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_629","exampleIds":["paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls"]}},"schemaId":"schema_629","exampleIds":["paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls"]}],"pointer":"/paths/~1accessControlLists/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_629","exampleIds":["paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_629","exampleIds":["paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/getaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists"},{"label":"Create an ACL","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/createaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/createaccesscontrollist","metadata":{"seo":{"title":"Create an ACL","description":"Create an access control list entry with at least one IP address or IP range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAccessControlList","name":"Create an ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create an access control list entry with at least one IP address or IP range."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"]}},"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"],"pointer":"/paths/~1accessControlLists/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"]}},"responseCodes":["200"],"pointer":"/accessControlLists","href":"access-control-list/createaccesscontrollist","openApiOperationId":"createAccessControlList","summary":"Create an ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.accessControlList.create({\n      createAccessControlListBody: {\n        name: 'My new ACL',\n        ipRanges: [\n          {\n            description: 'Location 1',\n            ipAddress: '15.15.15.15',\n            range: 20,\n          },\n        ],\n      },\n    });\n    console.log('✅ Successfully created the ACL.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error('❌ Failed to create the ACL:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl"]}},"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl"]}],"pointer":"/paths/~1accessControlLists/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/createaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists"},{"label":"Get access control list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/getaccesslistbyid","routeSlug":"/docs/est/api-reference/est/access-control-list/getaccesslistbyid","metadata":{"seo":{"title":"Get access control list","description":"Return an access control list by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAccessListById","name":"Get access control list","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{id}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get access control list","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return an access control list by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry.","required":true}],"pointer":"/paths/~1accessControlLists~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/accessControlLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/accessControlLists/{id}","href":"access-control-list/getaccesslistbyid","openApiOperationId":"getAccessListById","summary":"Get access control list","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to retrieve\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.get({\n      id: aclId,\n    });\n    console.log('✅ Successfully retrieved the ACL.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The returned access control list.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList"}},"schemaId":"components/schemas/AccessControlList"}],"pointer":"/paths/~1accessControlLists~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AccessControlList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/getaccesslistbyid"}],"panels":[]}]},"httpPath":"/accessControlLists/{id}"},{"label":"Update ACL","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/updateaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/updateaccesscontrollist","metadata":{"seo":{"title":"Update ACL","description":"Create an access control list entry with at least one IP address or IP range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAccessControlList","name":"Update ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create an access control list entry with at least one IP address or IP range."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry.","required":true}],"pointer":"/paths/~1accessControlLists~1{id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_630","exampleIds":["paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"]}},"schemaId":"schema_630","exampleIds":["paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"],"pointer":"/paths/~1accessControlLists~1{id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/accessControlLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_630","exampleIds":["paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"]}},"responseCodes":["200"],"pointer":"/accessControlLists/{id}","href":"access-control-list/updateaccesscontrollist","openApiOperationId":"updateAccessControlList","summary":"Update ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to update\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.update({\n      id: aclId,\n      updateAccessControlListRequestBody: {\n        name: 'Updated ACL name',\n        enabled: false,\n      },\n    });\n    console.log('✅ Successfully updated the ACL.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"schema_630","exampleIds":["paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_630","exampleIds":["paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl"]}},"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl"]}],"pointer":"/paths/~1accessControlLists~1{id}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccessControlList","exampleIds":["paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/updateaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{id}"},{"label":"Delete ACL","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/deleteaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/deleteaccesscontrollist","metadata":{"seo":{"title":"Delete ACL","description":"Delete an access control list entry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAccessControlList","name":"Delete ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete an access control list entry."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry.","required":true}],"pointer":"/paths/~1accessControlLists~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/accessControlLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/accessControlLists/{id}","href":"access-control-list/deleteaccesscontrollist","openApiOperationId":"deleteAccessControlList","summary":"Delete ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to delete\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    await sinch.elasticSipTrunking.accessControlList.delete({\n      id: aclId,\n    });\n    console.log(`✅ Successfully deleted the ACL with ID ${aclId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"}],"pointer":"/paths/~1accessControlLists~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/deleteaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{id}"},{"label":"Get trunks for ACL","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/trunksbyacl","routeSlug":"/docs/est/api-reference/est/access-control-list/trunksbyacl","metadata":{"seo":{"title":"Get trunks for ACL","description":"Returns a list of all trunks which use the specified access control list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"trunksByACL","name":"Get trunks for ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{id}~1trunks/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get trunks for ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all trunks which use the specified access control list."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry.","required":true}],"pointer":"/paths/~1accessControlLists~1{id}~1trunks/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/accessControlLists/{id}/trunks","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/accessControlLists/{id}/trunks","href":"access-control-list/trunksbyacl","openApiOperationId":"trunksByACL","summary":"Get trunks for ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ACL ID you want to list SIP Trunks for\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.listTrunks({\n      id: aclId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No SIP Trunks found for the ACL with ID ${aclId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} SIP Trunks for the ACL with ID ${aclId}.`);\n    response.data.forEach((trunk) => {\n      console.log(trunk);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the SIP Trunks for the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of trunks which use the access control list.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}},"schemaId":"schema_631"}],"pointer":"/paths/~1accessControlLists~1{id}~1trunks/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_631","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/trunksbyacl"}],"panels":[]}]},"httpPath":"/accessControlLists/{id}/trunks"},{"label":"Add IP range to ACL","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/addiprangetoaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/addiprangetoaccesscontrollist","metadata":{"seo":{"title":"Add IP range to ACL","description":"Add an IP range to an access control list entry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addIpRangeToAccessControlList","name":"Add IP range to ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add IP range to ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Add an IP range to an access control list entry."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry. that you want to work with","required":true}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"]}},"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/accessControlLists/{accessControlListId}/ipRanges","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"]}},"responseCodes":["200"],"pointer":"/accessControlLists/{accessControlListId}/ipRanges","href":"access-control-list/addiprangetoaccesscontrollist","openApiOperationId":"addIpRangeToAccessControlList","summary":"Add IP range to ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to which to add an IP range\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.addIpRange({\n      accessControlListId: aclId,\n      addIpRangeRequestBody: {\n        description: 'IP range name',\n        ipAddress: '11.12.13.14',\n        range: 27,\n      },\n    });\n    console.log('✅ Successfully added IP range to ACL:');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to add IP range to the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of IP ranges","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange"]}},"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange"]}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/addiprangetoaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{accessControlListId}/ipRanges"},{"label":"List all IP ranges for ACL","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/getiprangesforaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/getiprangesforaccesscontrollist","metadata":{"seo":{"title":"List all IP ranges for ACL","description":"Get all IP ranges for an access control list entry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getIpRangesForAccessControlList","name":"List all IP ranges for ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all IP ranges for ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all IP ranges for an access control list entry."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry. that you want to work with","required":true}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/accessControlLists/{accessControlListId}/ipRanges","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/accessControlLists/{accessControlListId}/ipRanges","href":"access-control-list/getiprangesforaccesscontrollist","openApiOperationId":"getIpRangesForAccessControlList","summary":"List all IP ranges for ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to list the IP ranges from\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.listIpRanges({\n      accessControlListId: aclId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No IP ranges found for the ACL with ID ${aclId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} IP ranges for ACL with ID ${aclId}.`);\n    response.data.forEach((ipRange) => {\n      console.log(ipRange);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the IP ranges for the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of IP ranges","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_632"}},"schemaId":"schema_632"}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_632","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_632"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/getiprangesforaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{accessControlListId}/ipRanges"},{"label":"Delete IP range from ACL","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/deleteiprangefromaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/deleteiprangefromaccesscontrollist","metadata":{"seo":{"title":"Delete IP range from ACL","description":"Remove an IP range to an access control list entry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteIpRangeFromAccessControlList","name":"Delete IP range from ACL","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete IP range from ACL","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Remove an IP range to an access control list entry."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry that you want to update.","required":true},{"name":"ipRangeId","in":"path","schemaId":"schema_596","description":"The ID of the IP range that you want to update.","required":true}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"},{"name":"ipRangeId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","href":"access-control-list/deleteiprangefromaccesscontrollist","openApiOperationId":"deleteIpRangeFromAccessControlList","summary":"Delete IP range from ACL","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ID of the ACL to delete the IP range from\n  const aclId = 'ACL_ID';\n  // The IP Range ID you want to delete from the ACL\n  const ipRangeId = 'IP_RANGE_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    await sinch.elasticSipTrunking.accessControlList.deleteIpRange({\n      accessControlListId: aclId,\n      ipRangeId: ipRangeId,\n    });\n    console.log(`✅ Successfully deleted the IP range ${ipRangeId} from the ACL with ID ${aclId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the IP range ${ipRangeId} from the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"IP range deleted"}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/deleteiprangefromaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}"},{"label":"Update IP range","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/updateiprangefromaccesscontrollist","routeSlug":"/docs/est/api-reference/est/access-control-list/updateiprangefromaccesscontrollist","metadata":{"seo":{"title":"Update IP range","description":"Update an IP range to an access control list entry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateIpRangeFromAccessControlList","name":"Update IP range","isWebhook":false,"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update IP range","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an IP range to an access control list entry."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry that you want to update.","required":true},{"name":"ipRangeId","in":"path","schemaId":"schema_596","description":"The ID of the IP range that you want to update.","required":true}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"]}},"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"},{"name":"ipRangeId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"]}},"responseCodes":["200"],"pointer":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","href":"access-control-list/updateiprangefromaccesscontrollist","openApiOperationId":"updateIpRangeFromAccessControlList","summary":"Update IP range","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The ACL ID you want to update ACL from\n  const aclId = 'ACL_ID';\n  // The IP Range ID you want to update\n  const ipRangeId = 'IP_RANGE_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.accessControlList.updateIpRange({\n      accessControlListId: aclId,\n      ipRangeId: ipRangeId,\n      updateIpRangeRequestBody: {\n        ipAddress: '11.12.13.14',\n        range: 27,\n      },\n    });\n    console.log('✅ Successfully updated the IP Range.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the IP Range ${ipRangeId} in the ACL with ID ${aclId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The updated IP range.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange"]}},"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange"]}],"pointer":"/paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/IpRange","exampleIds":["paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/updateiprangefromaccesscontrollist"}],"panels":[]}]},"httpPath":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}"},{"label":"Add ACL to a trunk","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/addaccesscontrollisttotrunk","routeSlug":"/docs/est/api-reference/est/access-control-list/addaccesscontrollisttotrunk","metadata":{"seo":{"title":"Add ACL to a trunk","description":"Add an access control list entry to a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addAccessControlListToTrunk","name":"Add ACL to a trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add ACL to a trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Add an access control list entry to a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/trunks/{trunkId}/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"responseCodes":["200"],"pointer":"/trunks/{trunkId}/accessControlLists","href":"access-control-list/addaccesscontrollisttotrunk","openApiOperationId":"addAccessControlListToTrunk","summary":"Add ACL to a trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to add ACLs to\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.accessControlList.addToTrunk({\n      trunkId: sipTrunkId,\n      addAccessControlListToTrunkRequestBody: {\n        accessControlListIds: [\n          'AN_ACL_ID_TO_ADD',\n          'ANOTHER_ACL_ID_TO_ADD',\n        ],\n      },\n    });\n    console.log('✅ Successfully added the ACLs to the SIP Trunk.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to add the ACLs to the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_598","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}},"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/addaccesscontrollisttotrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists"},{"label":"List all ACLs for a trunk","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/getaccesscontrollistsfortrunk","routeSlug":"/docs/est/api-reference/est/access-control-list/getaccesscontrollistsfortrunk","metadata":{"seo":{"title":"List all ACLs for a trunk","description":"Get all access control list entries for a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAccessControlListsForTrunk","name":"List all ACLs for a trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all ACLs for a trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all access control list entries for a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/trunks/{trunkId}/accessControlLists","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/trunks/{trunkId}/accessControlLists","href":"access-control-list/getaccesscontrollistsfortrunk","openApiOperationId":"getAccessControlListsForTrunk","summary":"List all ACLs for a trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to list ACLs for\n  const sipTrunkId = 'SIP_TRUNK_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    const response = await sinch.elasticSipTrunking.accessControlList.listForTrunk({\n      trunkId: sipTrunkId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No ACLs found for the SIP Trunk with ID ${sipTrunkId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} ACLs for the SIP Trunk with ID ${sipTrunkId}.`);\n    response.data.forEach((acl) => {\n      console.log(acl);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the ACLs for the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of access control list entries","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}},"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600","exampleIds":["paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/getaccesscontrollistsfortrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists"},{"label":"Delete ACL from trunk","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/access-control-list/deleteaccesscontrollistfromtrunk","routeSlug":"/docs/est/api-reference/est/access-control-list/deleteaccesscontrollistfromtrunk","metadata":{"seo":{"title":"Delete ACL from trunk","description":"Remove an access control list entry from a trunk."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAccessControlListFromTrunk","name":"Delete ACL from trunk","isWebhook":false,"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete ACL from trunk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Remove an access control list entry from a trunk."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"trunkId","in":"path","schemaId":"schema_596","description":"The ID of the trunk that you want to work with","required":true},{"name":"accessControlListId","in":"path","schemaId":"schema_596","description":"The ID of the access control list entry. that you want to remove from trunk","required":true}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"trunkId","in":"path","required":true,"schemaId":"schema_596"},{"name":"accessControlListId","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","href":"access-control-list/deleteaccesscontrollistfromtrunk","openApiOperationId":"deleteAccessControlListFromTrunk","summary":"Delete ACL from trunk","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The SIP Trunk ID you want to delete the ACL from\n  const sipTrunkId = 'SIP_TRUNK_ID';\n  // The ACL ID you want to delete from the SIP Trunk\n  const aclId = 'ACL_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try{\n    await sinch.elasticSipTrunking.accessControlList.deleteFromTrunk({\n      trunkId: sipTrunkId,\n      accessControlListId: aclId,\n    });\n    console.log(`✅ Successfully deleted the ACL ${aclId} from the SIP Trunk with ID ${sipTrunkId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the ACL ${aclId} from the SIP Trunk with ID ${sipTrunkId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Access control list entry deleted"}],"pointer":"/paths/~1trunks~1{trunkId}~1accessControlLists~1{accessControlListId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/access-control-list/deleteaccesscontrollistfromtrunk"}],"panels":[]}]},"httpPath":"/trunks/{trunkId}/accessControlLists/{accessControlListId}"}],"content":{"contentType":"group","meta":{"name":"Access Control List"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Access Control Lists","showPageActions":true},{"nodeType":"markdoc","content":"The Access Control List (ACL) endpoint has operations that allow you to create, view, update, and remove ACLs.\nYou 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."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/accessControlLists","summary":"List ACLs","prefix":{"name":"get","color":"get"},"badges":[],"link":"/access-control-list/getaccesscontrollist","deprecated":false},{"title":"/accessControlLists","summary":"Create an ACL","prefix":{"name":"post","color":"post"},"badges":[],"link":"/access-control-list/createaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{id}","summary":"Get access control list","prefix":{"name":"get","color":"get"},"badges":[],"link":"/access-control-list/getaccesslistbyid","deprecated":false},{"title":"/accessControlLists/{id}","summary":"Update ACL","prefix":{"name":"put","color":"put"},"badges":[],"link":"/access-control-list/updateaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{id}","summary":"Delete ACL","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/access-control-list/deleteaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{id}/trunks","summary":"Get trunks for ACL","prefix":{"name":"get","color":"get"},"badges":[],"link":"/access-control-list/trunksbyacl","deprecated":false},{"title":"/accessControlLists/{accessControlListId}/ipRanges","summary":"Add IP range to ACL","prefix":{"name":"post","color":"post"},"badges":[],"link":"/access-control-list/addiprangetoaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{accessControlListId}/ipRanges","summary":"List all IP ranges for ACL","prefix":{"name":"get","color":"get"},"badges":[],"link":"/access-control-list/getiprangesforaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","summary":"Delete IP range from ACL","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/access-control-list/deleteiprangefromaccesscontrollist","deprecated":false},{"title":"/accessControlLists/{accessControlListId}/ipRanges/{ipRangeId}","summary":"Update IP range","prefix":{"name":"put","color":"put"},"badges":[],"link":"/access-control-list/updateiprangefromaccesscontrollist","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists","summary":"Add ACL to a trunk","prefix":{"name":"post","color":"post"},"badges":[],"link":"/access-control-list/addaccesscontrollisttotrunk","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists","summary":"List all ACLs for a trunk","prefix":{"name":"get","color":"get"},"badges":[],"link":"/access-control-list/getaccesscontrollistsfortrunk","deprecated":false},{"title":"/trunks/{trunkId}/accessControlLists/{accessControlListId}","summary":"Delete ACL from trunk","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/access-control-list/deleteaccesscontrollistfromtrunk","deprecated":false}]}]}]}]}},{"type":"group","label":"Credential Lists","link":"/docs/est/api-reference/est/credential-lists","routeSlug":"/docs/est/api-reference/est/credential-lists","items":[{"label":"Get credential list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credential-lists/getcredentiallistbyid","routeSlug":"/docs/est/api-reference/est/credential-lists/getcredentiallistbyid","metadata":{"seo":{"title":"Get credential list","description":"Return a credential list by its specified ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCredentialListById","name":"Get credential list","isWebhook":false,"pointer":"/paths/~1credentialLists~1{id}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get credential list","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return a credential list by its specified ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the credential list to return.","required":true}],"pointer":"/paths/~1credentialLists~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/credentialLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/credentialLists/{id}","href":"credential-lists/getcredentiallistbyid","openApiOperationId":"getCredentialListById","summary":"Get credential list","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID you want to retrieve\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.credentialLists.get({\n      id: credentialListId,\n    });\n    console.log('✅ Successfully retrieved the credential list.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the credential list with ID ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListResponse"}},"schemaId":"components/schemas/CredentialListResponse"}],"pointer":"/paths/~1credentialLists~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CredentialListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credential-lists/getcredentiallistbyid"}],"panels":[]}]},"httpPath":"/credentialLists/{id}"},{"label":"Update a credential list","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credential-lists/updatecredentiallist","routeSlug":"/docs/est/api-reference/est/credential-lists/updatecredentiallist","metadata":{"seo":{"title":"Update a credential list","description":"Update a credential list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCredentialList","name":"Update a credential list","isWebhook":false,"pointer":"/paths/~1credentialLists~1{id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a credential list","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the credential list to update.","required":true}],"pointer":"/paths/~1credentialLists~1{id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CredentialListRequest"}},"schemaId":"components/schemas/CredentialListRequest","pointer":"/paths/~1credentialLists~1{id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/credentialLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CredentialListRequest"}},"responseCodes":["200"],"pointer":"/credentialLists/{id}","href":"credential-lists/updatecredentiallist","openApiOperationId":"updateCredentialList","summary":"Update a credential list","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID you want to update\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.credentialLists.update({\n      id: credentialListId,\n      updateCredentialListRequestBody: {\n        name: 'Updated credential list name',\n      },\n    });\n    console.log(`✅ Successfully updated the credential list with ID ${credentialListId}.`);\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the credential list with ID ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/CredentialListRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CredentialListRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListResponse"}},"schemaId":"components/schemas/CredentialListResponse"}],"pointer":"/paths/~1credentialLists~1{id}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CredentialListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CredentialListResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credential-lists/updatecredentiallist"}],"panels":[]}]},"httpPath":"/credentialLists/{id}"},{"label":"Delete a credential list","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credential-lists/deletecredentiallist","routeSlug":"/docs/est/api-reference/est/credential-lists/deletecredentiallist","metadata":{"seo":{"title":"Delete a credential list","description":"Delete a credential list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCredentialList","name":"Delete a credential list","isWebhook":false,"pointer":"/paths/~1credentialLists~1{id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a credential list","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the credential list to delete.","required":true}],"pointer":"/paths/~1credentialLists~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/credentialLists/{id}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/credentialLists/{id}","href":"credential-lists/deletecredentiallist","openApiOperationId":"deleteCredentialList","summary":"Delete a credential list","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID you want to delete\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    await sinch.elasticSipTrunking.credentialLists.delete({\n      id: credentialListId,\n    });\n    console.log(`✅ Successfully deleted the credential list with ID ${credentialListId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the credential list with ID ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"}],"pointer":"/paths/~1credentialLists~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credential-lists/deletecredentiallist"}],"panels":[]}]},"httpPath":"/credentialLists/{id}"},{"label":"Update the password for a credential","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credential-lists/updatecredential","routeSlug":"/docs/est/api-reference/est/credential-lists/updatecredential","metadata":{"seo":{"title":"Update the password for a credential","description":"Update the password for a credential"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCredential","name":"Update the password for a credential","isWebhook":false,"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update the password for a credential","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"credentialListId","in":"path","schemaId":"schema_596","description":"The ID of the credential list entry.","required":true},{"name":"username","in":"path","schemaId":"schema_596","description":"The username of the credential.","required":true}],"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Credential"}},"schemaId":"components/schemas/Credential","pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/credentialLists/{credentialListId}/credentials/{username}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"credentialListId","in":"path","required":true,"schemaId":"schema_596"},{"name":"username","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/Credential"}},"responseCodes":["200"],"pointer":"/credentialLists/{credentialListId}/credentials/{username}","href":"credential-lists/updatecredential","openApiOperationId":"updateCredential","summary":"Update the password for a credential","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID that contains the credential to update\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n  // The username of the credential to update\n  const credentialUsername = 'CREDENTIAL_USERNAME';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.credentialLists.updateCredential({\n      id: credentialListId,\n      username: credentialUsername,\n      updateCredentialPasswordRequestBody: {\n        password: 'newSecurePassword123[]',\n      },\n    });\n    console.log(`✅ Successfully updated the credential password for the username ${credentialUsername} in credential list ${credentialListId}.`);\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to update the credential password for the username ${credentialUsername} in credential list ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"components/schemas/Credential","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Credential"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Credential"}},"schemaId":"components/schemas/Credential"}],"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/Credential","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Credential"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credential-lists/updatecredential"}],"panels":[]}]},"httpPath":"/credentialLists/{credentialListId}/credentials/{username}"},{"label":"Get trunks for credential list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credential-lists/trunksbycredentiallist","routeSlug":"/docs/est/api-reference/est/credential-lists/trunksbycredentiallist","metadata":{"seo":{"title":"Get trunks for credential list","description":"Returns a list of all the trunks which use the specified credential list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"trunksByCredentialList","name":"Get trunks for credential list","isWebhook":false,"pointer":"/paths/~1credentialLists~1{id}~1trunks/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get trunks for credential list","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all the trunks which use the specified credential list."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_596","description":"The ID of the credential list entry.","required":true}],"pointer":"/paths/~1credentialLists~1{id}~1trunks/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/credentialLists/{id}/trunks","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/credentialLists/{id}/trunks","href":"credential-lists/trunksbycredentiallist","openApiOperationId":"trunksByCredentialList","summary":"Get trunks for credential list","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID you want to list SIP Trunks for\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.credentialLists.listTrunks({\n      id: credentialListId,\n    });\n    if (response.data.length === 0) {\n      console.log(`No SIP Trunks found for the credential list with ID ${credentialListId}.`);\n      return;\n    }\n    console.log(`✅ Found ${response.data.length} SIP Trunks for the credential list with ID ${credentialListId}.`);\n    response.data.forEach((trunk) => {\n      console.log(trunk);\n    });\n  } catch (err) {\n    console.error(`❌ Failed to list the SIP Trunks for the credential list with ID ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of trunks which use the credential list.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}},"schemaId":"schema_631"}],"pointer":"/paths/~1credentialLists~1{id}~1trunks/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_631","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credential-lists/trunksbycredentiallist"}],"panels":[]}]},"httpPath":"/credentialLists/{id}/trunks"}],"content":{"contentType":"group","meta":{"name":"Credential Lists"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Credential Lists","showPageActions":true},{"nodeType":"markdoc","content":"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."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/credentialLists/{id}","summary":"Get credential list","prefix":{"name":"get","color":"get"},"badges":[],"link":"/credential-lists/getcredentiallistbyid","deprecated":false},{"title":"/credentialLists/{id}","summary":"Update a credential list","prefix":{"name":"put","color":"put"},"badges":[],"link":"/credential-lists/updatecredentiallist","deprecated":false},{"title":"/credentialLists/{id}","summary":"Delete a credential list","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/credential-lists/deletecredentiallist","deprecated":false},{"title":"/credentialLists/{credentialListId}/credentials/{username}","summary":"Update the password for a credential","prefix":{"name":"put","color":"put"},"badges":[],"link":"/credential-lists/updatecredential","deprecated":false},{"title":"/credentialLists/{id}/trunks","summary":"Get trunks for credential list","prefix":{"name":"get","color":"get"},"badges":[],"link":"/credential-lists/trunksbycredentiallist","deprecated":false}]}]}]}]}},{"type":"group","label":"Credentials","link":"/docs/est/api-reference/est/credentials","routeSlug":"/docs/est/api-reference/est/credentials","items":[{"label":"Delete a credential","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/credentials/deletecredential","routeSlug":"/docs/est/api-reference/est/credentials/deletecredential","metadata":{"seo":{"title":"Delete a credential","description":"Delete a credential"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCredential","name":"Delete a credential","isWebhook":false,"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a credential","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"credentialListId","in":"path","schemaId":"schema_596","description":"The ID of the credential list entry.","required":true},{"name":"username","in":"path","schemaId":"schema_596","description":"The username of the credential.","required":true}],"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/credentialLists/{credentialListId}/credentials/{username}","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[{"name":"credentialListId","in":"path","required":true,"schemaId":"schema_596"},{"name":"username","in":"path","required":true,"schemaId":"schema_596"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["204"],"pointer":"/credentialLists/{credentialListId}/credentials/{username}","href":"credentials/deletecredential","openApiOperationId":"deleteCredential","summary":"Delete a credential","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The credential list ID that contains the credential to delete\n  const credentialListId = 'CREDENTIAL_LIST_ID';\n  // The username of the credential to delete\n  const credentialUsername = 'CREDENTIAL_USERNAME';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    await sinch.elasticSipTrunking.credentialLists.deleteCredential({\n      id: credentialListId,\n      username: credentialUsername,\n    });\n    console.log(`✅ Successfully deleted the credential with username ${credentialUsername} from credential list ${credentialListId}.`);\n  } catch (err) {\n    console.error(`❌ Failed to delete the credential with username ${credentialUsername} from credential list ${credentialListId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"}],"pointer":"/paths/~1credentialLists~1{credentialListId}~1credentials~1{username}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/credentials/deletecredential"}],"panels":[]}]},"httpPath":"/credentialLists/{credentialListId}/credentials/{username}"}],"content":{"contentType":"group","meta":{"name":"Credentials"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Credentials","showPageActions":true},{"nodeType":"markdoc","content":"The Credentials endpoint has operations that allow you to manage credentials within a credential list."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/credentialLists/{credentialListId}/credentials/{username}","summary":"Delete a credential","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/credentials/deletecredential","deprecated":false}]}]}]}]}},{"type":"group","label":"Projects","link":"/docs/est/api-reference/est/projects","routeSlug":"/docs/est/api-reference/est/projects","items":[{"label":"Add additional projects to EST","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/est/api-reference/est/projects/addestprojects","routeSlug":"/docs/est/api-reference/est/projects/addestprojects","metadata":{"seo":{"title":"Add additional projects to EST","description":"Programmatically add additional projects for use with Elastic SIP Trunking. If you list a project ID which EST is already aware of, it will be ignored."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addEstProjects","name":"Add additional projects to EST","isWebhook":false,"pointer":"/paths/~1addProjects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add additional projects to EST","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Programmatically add additional projects for use with Elastic SIP Trunking. If you list a project ID which EST is already aware of, it will be ignored."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Basic","scopes":[],"type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]}]},{"schemes":[{"name":"OAuth2.0","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_633"}},"schemaId":"schema_633","pointer":"/paths/~1addProjects/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/addProjects","servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Basic","type":"http","scheme":"basic"}],"scopes":[]},{"schemes":[{"id":"OAuth2.0","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_633"}},"responseCodes":["200"],"pointer":"/addProjects","href":"projects/addestprojects","openApiOperationId":"addEstProjects","summary":"Add additional projects to EST","securityGroups":[{"Basic":[]},{"OAuth2.0":[]}]},"definitionSamples":[{"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 projectId = process.env.SINCH_PROJECT_ID ?? 'MY_PROJECT_ID';\n  const keyId = process.env.SINCH_KEY_ID ?? 'MY_KEY_ID';\n  const keySecret = process.env.SINCH_KEY_SECRET ?? 'MY_KEY_SECRET';\n\n  // The project ID you want to add to EST\n  const projectIdToAdd = '00000000-0000-0000-0000-000000000000';\n\n  const sinch = new SinchClient({ projectId, keyId, keySecret });\n\n  try {\n    const response = await sinch.elasticSipTrunking.projects.add({\n      addProjectsRequestBody: {\n        projectIds: [projectIdToAdd],\n      },\n    });\n    console.log('✅ Successfully added additional projects to EST.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error('❌ Failed to add additional projects to EST:');\n    console.error(err);\n  }\n}\n\nmain();\n"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":""}}}],"schemaId":"schema_633","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_633"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of added projects.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_634"}},"schemaId":"schema_634"}],"pointer":"/paths/~1addProjects/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_634","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_634"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/addestprojects"}],"panels":[]}]},"httpPath":"/addProjects"}],"content":{"contentType":"group","meta":{"name":"Projects"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Projects","showPageActions":true},{"nodeType":"markdoc","content":"Manage your Elastic SIP Trunking projects."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/addProjects","summary":"Add additional projects to EST","prefix":{"name":"post","color":"post"},"badges":[],"link":"/projects/addestprojects","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/AccessControlList":{"id":"components/schemas/AccessControlList","kind":"json-schema","title":"AccessControlList","data":{"type":"object","required":["name","ipRanges"],"properties":{"id":{"type":"string","description":"The ID of the access control list entry.","readOnly":true},"name":{"type":"string","description":"Your name for the access control list entry.","example":"LA Office"},"enabled":{"type":"boolean","description":"Whether the access control list entry is enabled. You can use this to disable an list temporarily without deleting it.","default":true},"ipRanges":{"type":"array","minItems":1,"description":"The associated IP ranges. When creating you need to submit at least one IP range.","items":{"$ref":"#/components/schemas/IpRange"}},"trunks":{"type":"array","readOnly":true,"description":"The associated SIP trunks ID.","items":{"type":"string","description":"The ID of the SIP trunk."}},"createTime":{"x-version":1,"readOnly":true,"x-PII":false,"x-v1":true,"type":"string","format":"date-time","description":"The time the call was created.","example":"2021-11-01T23:20:50Z"},"updateTime":{"readOnly":true,"x-version":1,"x-PII":false,"x-v1":true,"type":"string","format":"date-time","description":"The time the call was created.","example":"2021-11-01T23:20:50Z"},"projectId":{"x-version":1,"readOnly":true,"type":"string","description":"The ID of the project."}}}},"components/schemas/IpRange":{"id":"components/schemas/IpRange","kind":"json-schema","title":"IpRange","data":{"type":"object","description":"A single or range of IP addresses.","properties":{"id":{"type":"string","description":"The ID of the IP range.","readOnly":true},"description":{"type":"string","description":"A description of the IP range.","example":"West wing of office"},"ipAddress":{"type":"string","description":"The start of the IP range.","example":"10.0.1.1"},"range":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A range, also known as a CIDR, represents the number of leading bits that define the network portion of an IP address in CIDR notation. The range is specified after a slash (/) at the end of the IP address. The remaining bits define specific hosts within the network."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"10.0.0.0/8: Represents all IP addresses from 10.0.0.0 to 10.255.255.255, allowing for over 16 million unique host addresses."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"172.16.0.0/16: Includes all IP addresses from 172.16.0.0 to 172.16.255.255, providing up to 65,536 unique host addresses."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"192.168.1.0/24: Encompasses all IP addresses from 192.168.1.0 to 192.168.1.255, offering 256 unique host addresses."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"192.168.1.0/32: Encompasses one ip address"},"children":[]}]}]}]}],"default":32,"example":32},"createTime":{"x-version":1,"readOnly":true,"x-PII":false,"x-v1":true,"type":"string","format":"date-time","description":"The time the call was created.","example":"2021-11-01T23:20:50Z"},"updateTime":{"readOnly":true,"x-version":1,"x-PII":false,"x-v1":true,"type":"string","format":"date-time","description":"The time the call was created.","example":"2021-11-01T23:20:50Z"},"projectId":{"x-version":1,"readOnly":true,"type":"string","description":"The ID of the project."},"accessControlListId":{"x-version":1,"readOnly":true,"type":"string","description":"The ID of the access control list."}}}},"components/schemas/Call":{"id":"components/schemas/Call","kind":"json-schema","title":"Call","data":{"description":"The call resource represents an inbound or outbound connection between Sinch and a supported device","type":"object","properties":{"callId":{"type":"string","description":"The unique identifier of the call.","format":"ULID"},"to":{"x-version":1,"x-PII":true,"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" calls, this is the Sinch number the phone dialed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OUTBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" calls, this is the phone number you want to make a call to."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Formatted according e164 format."},"children":[]}]}]}]},"from":{"x-version":1,"x-PII":true,"x-v1":"breaking","type":"string","x-mvp-description":"The call's origination, formatted according to the call's `callType`. For calls to the telephone network, this is a phone number in [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537) format, including the leading `+`.\n<b>Note:</b> If you do not include the `from` property, the call is made from the number or identifier configured as the default for your application or service.","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" calls, this is the number of the person calling. When making an outbound call set this to the your Sinch number you want to show up as Caller Id."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The call's origination, formatted according to the call's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"callType"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". For calls in the telephone network,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this is a phone number in "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://community.sinch.com/t5/Glossary/E-164/ta-p/7537"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E.164"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" format, including the leading "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"format":"phoneNumber","example":"+14155553434"},"direction":{"x-version":1,"type":"string","enum":["INBOUND","OUTBOUND"],"readOnly":true,"x-PII":false,"x-v1":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Describes whether the call was "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" your Sinch number or was "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OUTBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and made "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" your Sinch number."},"children":[]}]}]}],"x-enumDescriptions":{"INBOUND":"Someone called your Sinch number.","OUTBOUND":"Someone called from your SIP device."}},"answerTime":{"x-version":1,"readOnly":true,"x-PII":false,"x-V1":"breaking","type":"string","format":"date-time","description":"Time when call was answered","example":"2021-11-01T23:26:50Z"},"endTime":{"x-version":1,"readOnly":true,"type":"string","format":"date-time","x-PII":false,"x-V1":"breaking","description":"The time the call ended","example":"2021-11-01T23:29:50Z"},"durationSeconds":{"x-version":1,"x-PII":false,"x-V1":"breaking","description":"The duration of the call in seconds. For inbound calls, this is the time from when the call started until the call ended. For outbound calls, this is the time from when the call was answered until the call ended.","readOnly":true,"type":"integer","example":45},"callResult":{"$ref":"#/components/schemas/CallResult"},"pricePerMinute":{"description":"The price per minute for this call.","allOf":[{"$ref":"#/components/schemas/Money"}],"readOnly":true},"billingDurationSeconds":{"x-version":1,"readOnly":true,"description":"The duration of the call adjusted with the billing period.","type":"integer","example":60},"price":{"x-version":1,"description":"The total price for this call. This field is populated when the call ends.","allOf":[{"$ref":"#/components/schemas/Money"}],"readOnly":true},"createTime":{"x-version":1,"readOnly":true,"x-PII":false,"x-v1":true,"type":"string","format":"date-time","description":"The time the call was created.","example":"2021-11-01T23:20:50Z"},"projectId":{"x-version":1,"type":"string","description":"The ID of the project that the call belongs to."},"trunkId":{"x-version":1,"example":"dFeDe67-09d5-49d5-b469-e1fc2cb163c7","type":"string","description":"The ID of the trunk that the call was made through."},"pcapId":{"type":"string","description":"The ID of the PCAP that can be retrieved. PCAPs are only stored for 10 days.","example":"0a81e938-07bd-1240-8487-0ecf41868d11"}}}},"components/schemas/SipTrunk":{"id":"components/schemas/SipTrunk","kind":"json-schema","title":"SipTrunk","data":{"required":["name","hostName"],"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"The SIP trunk id.","example":""},"hostName":{"type":"string","description":"The host of the domain you would like to have for you trunk.","example":"acme-domain-1"},"topLevelDomain":{"readOnly":true,"type":"string","description":"The top level domain to which the SIP trunk belongs.","example":".elastic-sip.sinch.com"},"domain":{"readOnly":true,"type":"string","description":"The fully qualified name of the domain, which is a combination of your 'hostName' and the 'topLevelDomain'.","example":"acme-domain-1.elastic-sip.sinch.com"},"name":{"type":"string","description":"The friendly name of your SIP trunk.","example":"Acme Trunk"},"callsPerSecond":{"minimum":1,"readOnly":true,"type":"integer","description":"Number of calls started per second, to increase this please contact your account manager.","example":100,"default":1},"enableCallerName":{"type":"boolean","description":"Enable caller name lookup for incoming calls. US and canada only.","example":true,"default":false},"callForwardNumber":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The valid E.164 phone number that will be dialed on inbound calls when no SIP endpoints are available. Required if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enableCallForward"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" property is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"+17208511190","default":""},"enableCallForward":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When enabled, if an inbound call can not be delivered to a SIP endpoint, calls will be forwarded to the configured "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"callForwardNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". To forward all calls without trying SIP, simply disable (or delete) all SIP endpoints on this trunk. Logs (and billing) will be created for 2 calls (inbound and outbound)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Since there is no SIP connection, PCAPs will not be generated."},"children":[]}]}]}],"example":true,"default":false},"createTime":{"type":"string","readOnly":true,"description":"The date and time that the SIP trunk was created.","format":"date-time","example":"2022-01-01T00:00:00Z"},"updateTime":{"type":"string","description":"The date and time that the SIP trunk was last modified.","format":"date-time","readOnly":true,"example":"2022-01-01T00:00:00Z"},"projectId":{"type":"string","readOnly":true,"description":"The ID of the account.","example":"1bf62742-7b84-4666-9cbe-8e5734fd57d0"}},"description":"A created SIP trunk."}},"components/schemas/Money":{"id":"components/schemas/Money","kind":"json-schema","title":"Money","data":{"type":"object","readOnly":true,"properties":{"currencyCode":{"readOnly":true,"description":"The 3-letter currency code defined in ISO 4217.","type":"string","example":"USD"},"amount":{"readOnly":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The amount with 4 decimals and decimal delimiter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"type":"string","example":"0.0040"}}}},"components/schemas/CallResult":{"id":"components/schemas/CallResult","kind":"json-schema","title":"CallResult","data":{"description":"The result of the call.","readOnly":true,"type":"string","example":"COMPLETED","enum":["COMPLETED","NO_ANSWER","CANCEL","BUSY","FAILED"],"x-enumDescriptions":{"COMPLETED":"The call was completed successfully.","NO_ANSWER":"The call timeout before the recipient answered.","CANCEL":"The call was canceled.","BUSY":"The recipient was busy.","FAILED":"The call failed."}}},"components/schemas/Number":{"id":"components/schemas/Number","kind":"json-schema","title":"Number","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"The ID of the phone number.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"sipTrunkId":{"type":"string","readOnly":true,"example":"5RTRZ3NDEKTSV4RRFFQ69G5EWS","description":"The ID of the SIP trunk to which the phone number is assigned."},"phoneNumber":{"description":"A Sinch phone number on your account and configured for Elastic SIP Trunking.","allOf":[{"$ref":"#/components/schemas/PhoneNumber"}],"example":"+15552229999"},"countryCode":{"readOnly":true,"type":"string","description":"The country code of the phone number in ISO 3166-1 alpha-2 format.","example":"US"},"createTime":{"type":"string","description":"The date and time that the number was assigned to the SIP trunk.","format":"date-time","readOnly":true,"example":"2022-01-01T00:00:00Z"},"updateTime":{"type":"string","description":"The date and time that the phone number was last modified.","format":"date-time","readOnly":true,"example":"2022-01-01T00:00:00Z"}},"description":"A Sinch phone number assigned to a SIP trunk. This must be a number you own and configured for Elastic SIP Trunking."}},"components/schemas/StaticEndpoint":{"id":"components/schemas/StaticEndpoint","kind":"json-schema","title":"StaticEndpoint","data":{"required":["address"],"properties":{"address":{"type":"string","description":"The address of the SIP endpoint can be an IP address or a domain name. EST uses IP authentication and will only accept calls from the specified address or domain.","example":"127.0.0.1"},"port":{"maximum":65535,"minimum":1,"type":"integer","description":"The port of the SIP endpoint.","format":"int32","example":5060,"default":5060}}}},"components/schemas/RegisteredEndpoint":{"id":"components/schemas/RegisteredEndpoint","kind":"json-schema","title":"RegisteredEndpoint","data":{"required":["isRegistered","credentialUsername"],"properties":{"isRegistered":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This property determines whether the endpoint is static or registered. If registered, this must be set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":true},"credentialUsername":{"type":"string","description":"The username for the credential list you want to use to register the endpoint.","example":"MyCLUserName"}}}},"components/schemas/SipEndpoint":{"id":"components/schemas/SipEndpoint","kind":"json-schema","title":"SipEndpoint","data":{"required":["name","priority"],"type":"object","oneOf":[{"$ref":"#/components/schemas/StaticEndpoint"},{"$ref":"#/components/schemas/RegisteredEndpoint"}],"properties":{"id":{"type":"string","description":"The ID of the SIP endpoint.","readOnly":true},"sipTrunkId":{"type":"string","description":"The ID of the SIP trunk to which the endpoint is assigned.","readOnly":true,"example":"bbc55c4c-fe25-11ec-8482-d2e74e85a66f"},"name":{"type":"string","description":"The friendly name of the SIP endpoint.","example":"Acme Endpoint"},"transport":{"type":"string","description":"The transport protocol of the SIP endpoint.","example":"UDP","x-enumDescriptions":{"TCP":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://community.sinch.com/t5/Glossary/TCP/ta-p/7741"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Transmission Control Protocol"},"children":[]}]}]}]}],"UDP":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://community.sinch.com/t5/Glossary/UDP/ta-p/7778"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Datagram Protocol"},"children":[]}]}]}]}],"TLS":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://community.sinch.com/t5/Glossary/TLS/ta-p/7757"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Transport Layer Security"},"children":[]}]}]}]}]},"enum":["TCP","UDP","TLS"],"default":"UDP"},"priority":{"minimum":1,"type":"integer","description":"Inbound call routing priority. If two or more endpoints have the same priority, calls will be routed to them using a round-robin strategy.\n\nLower priority endpoints will be routed to first. Equal priority endpoints will round-robin calls between them.","format":"int32","example":1},"enabled":{"type":"boolean","description":"Sets whether the SIP endpoint is enabled or not.","default":true},"createTime":{"readOnly":true,"type":"string","description":"The date and time that the SIP endpoint was created.","format":"date-time","example":"2022-01-01T00:00:00Z"},"updateTime":{"readOnly":true,"type":"string","description":"The date and time that the SIP endpoint was last modified.","format":"date-time","example":"2022-01-01T00:00:00Z"}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A SIP endpoint which is the address of your SIP infrastructure. SIP endpoints can be one of two types: static endpoints or registered endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Description"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Static endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Static endpoints are defined by a static value which can either be an IP address or a domain name."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registered endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registered endpoints use a credential list to determine the endpoint."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}},"components/schemas/CountryPermission":{"id":"components/schemas/CountryPermission","kind":"json-schema","title":"CountryPermission","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With country permissions you can control which countries can be dialed from your account. For beta only, countries supported are US,CA and * if you would like to allow international dialing."},"children":[]}]}]}],"type":"object","required":["enabled"],"properties":{"isoCode":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO code"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the country"},"children":[]}]}]}],"type":"string","readOnly":true,"maxLength":2,"example":"US"},"name":{"description":"Country name in english","type":"string","example":"United States/Canada","readOnly":true},"continent":{"description":"Continent of the country","type":"string","example":"North America","readOnly":true},"countryDialingCodes":{"description":"The country calling codes as an array, most countries have only one but some have multiple like the San Marino, China, and a few others.","type":"array","readOnly":true,"items":{"type":"string","description":"The country calling code","example":"+1"}},"enabled":{"readOnly":false,"type":"boolean","description":"If the country is enabled or not. When this is enabled regular numbers can be dialed from the account.","default":true,"example":true}}}},"components/schemas/DomainExists":{"id":"components/schemas/DomainExists","kind":"json-schema","title":"DomainExists","data":{"type":"object","description":"Displays whether the specified domain exists as a SIP trunk, and if so, the SIP Trunk ID.","properties":{"exists":{"type":"boolean","description":"This value returns true if the domain exists as a SIP trunk, and false if it does not.","example":true},"sipTrunkId":{"type":"string","description":"If the domain exists as a SIP trunk, this is the ID."}}}},"components/schemas/CallBlockingRule":{"id":"components/schemas/CallBlockingRule","kind":"json-schema","title":"CallBlockingRule","data":{"type":"object","properties":{"name":{"type":"string","description":"The name for the call blocking rule.","example":"My Call Block Rule"},"direction":{"type":"string","description":"The direction of the call blocking rule. Can be either INBOUND or OUTBOUND.","enum":["INBOUND","OUTBOUND"],"x-enumDescriptions":{"INBOUND":"Targets incoming calls.","OUTBOUND":"Targets outgoing calls."},"example":"INBOUND"},"callerCountry":{"type":"string","description":"The country code of the inbound call.","example":"US"},"calleeCountry":{"type":"string","description":"The country code of the outbound call.","example":"CA"},"callerMatch":{"type":"string","description":"Use this field to match the prefixes of an inbound call's phone number.","example":"123"},"calleeMatch":{"type":"string","description":"Use this field to match the prefixes of an outbound call's phone number.","example":"456"},"id":{"type":"string","description":"The ID of the call blocking rule.","example":"01KG5BN8Z0HSR2P9GM3K9YA8RE"}},"required":["direction"]}},"components/schemas/CredentialListIds":{"id":"components/schemas/CredentialListIds","kind":"json-schema","title":"CredentialListIds","data":{"type":"object","properties":{"credentialListIds":{"type":"array","items":{"type":"string","description":"The ID of the credential list.","example":"01GNZ9MXEZ4K6S8GB7RW063VAN"}}},"required":["credentialListIds"]}},"components/schemas/CredentialListRequest":{"id":"components/schemas/CredentialListRequest","kind":"json-schema","title":"CredentialListRequest","data":{"type":"object","properties":{"name":{"type":"string","description":"The name of the credential list.","example":"My Credential List"}},"required":["name"]}},"components/schemas/CredentialListResponse":{"id":"components/schemas/CredentialListResponse","kind":"json-schema","title":"CredentialListResponse","data":{"type":"object","properties":{"name":{"type":"string","description":"The name of the credential list.","example":"My Credential List"},"id":{"type":"string","description":"The ID of the credential list.","example":"01GNZ9MXEZ4K6S8GB7RW063VAN"}}}},"components/schemas/Credential":{"id":"components/schemas/Credential","kind":"json-schema","title":"Credential","data":{"type":"object","properties":{"password":{"type":"string","format":"password","description":"The password for the credential.","example":"SecurePassword!234"}}}},"components/schemas/PhoneNumber":{"id":"components/schemas/PhoneNumber","kind":"json-schema","title":"PhoneNumber","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A phone number in "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://community.sinch.com/t5/Glossary/E-164/ta-p/7537"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E.164"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" format, including the leading '+'."},"children":[]}]}]}],"example":"+15551239898"}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An error response. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is a unique identifier for the error. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is a human-readable description of the error."},"children":[]}]}]}],"type":"object","properties":{"code":{"description":"HTTP status code or error code","readOnly":true,"type":"integer","format":"int32","example":400},"status":{"description":"Response status name.","readOnly":true,"type":"string","example":"INVALID_ARGUMENT"},"message":{"type":"string","readOnly":true,"description":"A developer-facing error message","example":"Bad request."},"details":{"readOnly":true,"description":"Details of the errors","type":"array","items":{"$ref":"#/components/schemas/ErrorDetail"}}}}},"components/schemas/ErrorDetail":{"id":"components/schemas/ErrorDetail","kind":"json-schema","title":"ErrorDetail","data":{"type":"object","anyOf":[{"$ref":"#/components/schemas/BadRequestDetail"},{"$ref":"#/components/schemas/RequestInfoDetail"},{"$ref":"#/components/schemas/QuotaFailureDetail"},{"$ref":"#/components/schemas/ErrorInfo"}],"discriminator":{"propertyName":"type","mapping":{"BadRequest":"#/components/schemas/BadRequestDetail","RequestInfo":"#/components/schemas/RequestInfoDetail","QuotaFailure":"#/components/schemas/QuotaFailureDetail","ErrorInfo":"#/components/schemas/ErrorInfo"}}}},"components/schemas/BadRequestDetail":{"id":"components/schemas/BadRequestDetail","kind":"json-schema","title":"BadRequestDetail","data":{"type":"object","description":"The request was malformed on one or more fields.","x-internal":"https://github.com/googleapis/googleapis/blob/f79d6e85a9a6b913a5e9cb0067e846e7f087dbc8/google/rpc/error_details.proto#L169","properties":{"type":{"type":"string","description":"The request was malformed on one or more fields.","readOnly":true,"example":"BadRequest","default":"BadRequest"},"fieldViolations":{"description":"The field violation(s).","type":"array","items":{"$ref":"#/components/schemas/FieldViolation"}}}}},"components/schemas/FieldViolation":{"id":"components/schemas/FieldViolation","kind":"json-schema","title":"FieldViolation","data":{"type":"object","properties":{"field":{"type":"string","readOnly":true,"description":"Request field.","example":"to"},"description":{"type":"string","readOnly":true,"description":"Description of why the request field was considered invalid.","example":"Phone number was not in the expected format."}}}},"components/schemas/RequestInfoDetail":{"id":"components/schemas/RequestInfoDetail","kind":"json-schema","title":"RequestInfoDetail","data":{"description":"Information on why a request failed.","type":"object","x-internal":"https://github.com/googleapis/googleapis/blob/f79d6e85a9a6b913a5e9cb0067e846e7f087dbc8/google/rpc/error_details.proto#L187","properties":{"type":{"type":"string","description":"Information on why a request failed.","readOnly":true,"example":"RequestInfo","default":"RequestInfo"},"requestId":{"type":"string","example":"879c4177-af8a-4534-8168-cc2f66a1f2c6","description":"The ID of the request."},"data":{"type":"object","description":"The data sent to to the API when the error occurred."}}}},"components/schemas/QuotaFailureDetail":{"id":"components/schemas/QuotaFailureDetail","kind":"json-schema","title":"QuotaFailureDetail","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Describes how a quota check failed. For example if the total number of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_PROGRESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call was reached"},"children":[]}]}]}],"properties":{"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Describes how a quota check failed. For example if the total number of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_PROGRESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call was reached"},"children":[]}]}]}],"readOnly":true,"example":"QuotaFailure","default":"QuotaFailure"},"violations":{"description":"A list of quota violations","type":"array","items":{"$ref":"#/components/schemas/QuotaFailure"}}}}},"components/schemas/QuotaFailure":{"id":"components/schemas/QuotaFailure","kind":"json-schema","title":"QuotaFailure","data":{"type":"object","description":"Description of quota failure, example not enough credit, maximum calls per minute","properties":{"subject":{"type":"string","description":"On what part the quota failed, example ip address, CPS."},"description":{"description":"A description of how the quota check failed. You can can use this\ndescription to find more about the quota configuration in the service's\npublic documentation"}}}},"components/schemas/ErrorInfo":{"id":"components/schemas/ErrorInfo","kind":"json-schema","title":"ErrorInfo","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Describes the cause of the error with structured details."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example of an error when trying to make a call to blocked destination:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{ \"reason\": \"DESTINATION_BLOCKED\""},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"domain\": \"VOICE\""},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"metadata\": {"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"country\": \"Bermuda\","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"}"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"}"},"children":[]}]}]}],"type":"object","properties":{"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Describes the cause of the error with structured details."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example of an error when trying to make a call to blocked destination:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"    { \"reason\": \"DESTINATION_BLOCKED\"\n      \"domain\": \"VOICE\"\n      \"metadata\": {\n        \"country\": \"Bermuda\",\n      }\n    }\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"    { \"reason\": \"DESTINATION_BLOCKED\"\n      \"domain\": \"VOICE\"\n      \"metadata\": {\n        \"country\": \"Bermuda\",\n      }\n    }\n"},"children":[]}]}],"default":"ErrorInfo","example":"ErrorInfo"},"reason":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The reason of the error. This is a constant value that identifies the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"proximate cause of the error. Error reasons are unique. Max 63 characters and match"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/[A-Z0-9_]+/."},"children":[]}]}]}],"maxLength":63},"domain":{"type":"string","description":"Domain for error, for voice its always sinch.voice"},"metaData":{"description":"Additional structured details about this error. key value pair of strings","type":"object"}}}},"components/schemas/Pagination":{"id":"components/schemas/Pagination","kind":"json-schema","title":"Pagination","data":{"type":"object","readOnly":true,"properties":{"totalItems":{"type":"integer","readOnly":true,"format":"int32","description":"Total size of the result.","example":10000},"pageNumber":{"readOnly":true,"type":"string","description":"The token to be used for listing the next page","example":"1"},"size":{"type":"integer","readOnly":true,"format":"int32","description":"The number of items per page. default is 1000","example":2000}}}},"schema_594":{"kind":"json-schema","data":{"type":"integer","default":1},"id":"schema_594"},"schema_595":{"kind":"json-schema","data":{"type":"integer","default":500,"minimum":1,"maximum":500},"id":"schema_595"},"schema_596":{"kind":"json-schema","data":{"type":"string"},"id":"schema_596"},"schema_597":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","properties":{"sipTrunks":{"type":"array","description":"The list of SIP trunks that matches the query parameters.","items":{"$ref":"#/components/schemas/SipTrunk"}}}}]},"id":"schema_597"},"schema_598":{"kind":"json-schema","data":{"type":"object","properties":{"accessControlListIds":{"type":"array","description":"Array of AccessControlList ids","items":{"type":"string","description":"The ID of the access control list entry."}}}},"id":"schema_598"},"schema_599":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"accessControlListIds":{"type":"array","description":"Array of AccessControlList ids","items":{"type":"string","description":"The ID of the access control list entry on assigned to trunk after update."}}}}]},"id":"schema_599"},"schema_600":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"accessControlListIds":{"type":"array","description":"Array of AccessControlList ids","items":{"type":"string","description":"The ID of the access control list entry."}}}},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_600"},"schema_601":{"kind":"json-schema","data":{"type":"array","items":{"type":"string"}},"id":"schema_601"},"schema_602":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/CredentialListIds"},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_602"},"schema_603":{"kind":"json-schema","data":{"type":"array","description":"Array of credential list IDs","items":{"type":"string","description":"The ID of the credential list entry."}},"id":"schema_603"},"schema_604":{"kind":"json-schema","data":{"type":"object","properties":{"credentialListIds":{"type":"array","description":"Array of credential list IDs","items":{"type":"string","description":"The ID of the credential list entry."}}}},"id":"schema_604"},"schema_605":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/SipEndpoint"}}}}]},"id":"schema_605"},"schema_606":{"kind":"json-schema","data":{"minimum":0,"type":"integer","format":"int64"},"id":"schema_606"},"schema_607":{"kind":"json-schema","data":{"type":"object","properties":{"countryPermissions":{"type":"array","items":{"$ref":"#/components/schemas/CountryPermission"}}}},"id":"schema_607"},"schema_608":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","properties":{"phoneNumbers":{"type":"array","items":{"$ref":"#/components/schemas/Number"}}}}]},"id":"schema_608"},"schema_609":{"kind":"json-schema","data":{"type":"string","example":"+12225559999"},"id":"schema_609"},"schema_610":{"kind":"json-schema","data":{"type":"string","format":"phonenumber"},"id":"schema_610"},"schema_611":{"kind":"json-schema","data":{"type":"string","example":"2021-02-01","default":"now-24h"},"id":"schema_611"},"schema_612":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CallResult"},"id":"schema_612"},"schema_613":{"kind":"json-schema","data":{"type":"string","description":"Filter results based on the call direction.","enum":["INBOUND","OUTBOUND"],"x-ga-description":"Describes whether the call was `INBOUND` *to* your Sinch number or was `OUTBOUND` and made *from* your Sinch number. An `INBOUND` call can also come from a SIP infrastructure or an application built using the Sinch SDK. An `OUTBOUND` call can be placed to a SIP infrastructure or an application built using the Sinch SDK.","x-enumDescriptions":{"INBOUND":"Somebody called your Sinch number.","OUTBOUND":"You called somebody from your SIP device."}},"id":"schema_613"},"schema_614":{"kind":"json-schema","data":{"type":"integer","maximum":1000,"minimum":1},"id":"schema_614"},"schema_615":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"calls":{"type":"array","description":"The list of calls that matches the query parameters.","items":{"$ref":"#/components/schemas/Call"}}}},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_615"},"schema_616":{"kind":"json-schema","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter results based on the call direction. Describes whether the call was "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" your Sinch number or was "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OUTBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and made "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" your Sinch number. An "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call can also come from a SIP infrastructure or an application built using the Sinch SDK. An "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OUTBOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call can be placed to a SIP infrastructure or an application built using the Sinch SDK."},"children":[]}]}]}],"enum":["INBOUND","OUTBOUND"],"x-enumDescriptions":{"INBOUND":"Somebody called your Sinch number.","OUTBOUND":"You called somebody from your SIP device."}},"id":"schema_616"},"schema_617":{"kind":"json-schema","data":{"type":"string","example":"US"},"id":"schema_617"},"schema_618":{"kind":"json-schema","data":{"type":"string","example":"CA"},"id":"schema_618"},"schema_619":{"kind":"json-schema","data":{"type":"string","enum":["true","false"],"x-enumDescriptions":{"true":"Include only emergency calls.","false":"Include all calls."}},"id":"schema_619"},"schema_620":{"kind":"json-schema","data":{"type":"string","example":"us-east"},"id":"schema_620"},"schema_621":{"kind":"json-schema","data":{"type":"string","example":"e234bd85-8uv5-44a2-a973-1f705a0960f5@vp3-i-06a73121dc26a8906.xmpp.vpc"},"id":"schema_621"},"schema_622":{"kind":"json-schema","data":{"type":"string","example":"9128525b-7273-123f-73ae-0225d0254abb"},"id":"schema_622"},"schema_623":{"kind":"json-schema","data":{"type":"string","example":"initial"},"id":"schema_623"},"schema_624":{"kind":"json-schema","data":{"type":"string","enum":["true","false"],"x-enumDescriptions":{"true":"Include only calls with children.","false":"Include all calls."}},"id":"schema_624"},"schema_625":{"kind":"json-schema","data":{"type":"string","example":"0a81e938-07bd-1240-8487-0ecf41868d11"},"id":"schema_625"},"schema_626":{"kind":"json-schema","data":{"type":"string","enum":["INBOUND","OUTBOUND"],"x-enumDescriptions":{"INBOUND":"Somebody called your Sinch number.","OUTBOUND":"You called somebody from your SIP device."},"default":"OUTBOUND"},"id":"schema_626"},"schema_627":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/CallBlockingRule"}},"id":"schema_627"},"schema_628":{"kind":"json-schema","data":{"type":"string","example":"01KG5BN8Z0HSR2P9GM3K9YA8RE"},"id":"schema_628"},"schema_629":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"accessControlLists":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlList"}}}},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_629"},"schema_630":{"kind":"json-schema","data":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Your name for the access control list entry.","example":"LA Office"},"enabled":{"type":"boolean","description":"Whether the access control list entry is enabled. You can use this to disable a list temporarily without deleting it.","default":true},"ipRanges":{"type":"array","description":"An array of all the IP ranges to update.","items":{"$ref":"#/components/schemas/IpRange"}}}},"id":"schema_630"},"schema_631":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"trunks":{"type":"array","items":{"$ref":"#/components/schemas/SipTrunk"}}}},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_631"},"schema_632":{"kind":"json-schema","data":{"allOf":[{"type":"object","properties":{"ipRanges":{"type":"array","description":"The list of IP ranges","items":{"$ref":"#/components/schemas/IpRange"}}}},{"$ref":"#/components/schemas/Pagination"}]},"id":"schema_632"},"schema_633":{"kind":"json-schema","data":{"required":["projectIds"],"type":"object","properties":{"projectIds":{"type":"array","description":"The project IDs you want to add.","example":["3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","879c4177-af8a-4534-8168-cc2f66a1f2c6"],"items":{"type":"string","example":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47"}}}},"id":"schema_633"},"schema_634":{"kind":"json-schema","data":{"type":"object","properties":{"addedProjects":{"type":"array","description":"The added project IDs.","example":["3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","879c4177-af8a-4534-8168-cc2f66a1f2c6"],"items":{"type":"string","example":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47"}}}},"id":"schema_634"}},"exampleStore":{"components/examples/aclListResponse":{"id":"components/examples/aclListResponse","value":{"accessControlLists":[{"name":"My Access Control List","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01HA2E80QCBX185VVP21PJG9CT","createTime":"2023-09-11T15:37:30","updateTime":"2023-09-11T15:38:14","ipRanges":[{"description":"Location 1","ipAddress":"54.172.60.0","range":30,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA2E80QCBX185VVP21PJG9CT","id":"01HA2E80QMJS5G7MD576GJQD2X","createTime":"2023-09-11T15:37:30","updateTime":""},{"description":"Location 2","ipAddress":"54.244.51.0","range":30,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA2E80QCBX185VVP21PJG9CT","id":"01HA2E98KCZ1CNN0JP22F4JF3T","createTime":"2023-09-11T15:38:11","updateTime":""}]},{"name":"My ACL 2","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01H7ZSW728SHB9984CDGFV37RM","createTime":"2023-08-16T18:31:39","updateTime":"2023-08-25T07:51:40","ipRanges":[{"description":"Location 1","ipAddress":"137.192.80.69","range":32,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01H8Y95DBSPQAN4MD4298TY05Y","createTime":"2023-08-28T14:36:02","updateTime":"2023-09-05T10:45:53"},{"description":"Location 2","ipAddress":"137.192.78.69","range":32,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01H8YC0JTSXXVPBECC289QZG0J","createTime":"2023-08-28T15:25:50","updateTime":"2023-09-05T07:59:07"},{"description":"Location 3","ipAddress":"20.20.20.20","range":24,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01HA1ZPH6E2BTSG0MFM38BRYF6","createTime":"2023-09-11T11:23:17","updateTime":""}]}],"pageNumber":"1","size":1000,"totalItems":2},"summary":"List ACLs","description":"List all access control lists for the project."},"components/examples/createAclReq":{"id":"components/examples/createAclReq","value":{"name":"My new ACL","enabled":true,"ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.15","range":20}]},"summary":"Create ACL","description":"Create a new access control list."},"components/examples/createAclRes":{"id":"components/examples/createAclRes","value":{"name":"My new ACL","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01HA9BRJW4J3QE4WBKVC337V4E","createTime":"2023-09-14T08:08:48.264185988","updateTime":"null,","ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.15","range":20,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA9BRJW4J3QE4WBKVC337V4E","id":"01HA9BRJYR9Q7ZBDYMXHVWT8S8","createTime":"2023-09-14T08:08:48.346874339","updateTime":""}]},"summary":"Create ACL","description":"The newly created access control list."},"components/examples/updateAclReq":{"id":"components/examples/updateAclReq","value":{"name":"Test Prague 5","enabled":false,"ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.16","range":20}]},"summary":"Update ACL","description":"Update an access control list."},"components/examples/updateAclRes":{"id":"components/examples/updateAclRes","value":{"name":"Test Prague 5","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":false,"id":"01HA9BRJW4J3QE4WBKVC337V4E","createTime":"2023-09-14T08:08:48","updateTime":"2023-09-14T08:10:10.187513334","ipRanges":[{"description":"Hradcany","ipAddress":"15.15.15.15","range":20,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA9BRJW4J3QE4WBKVC337V4E","id":"01HA9BRJYR9Q7ZBDYMXHVWT8S8","createTime":"2023-09-14T08:08:48","updateTime":""}]},"summary":"Update ACL","description":"The updated access control list."},"components/examples/addIpRangeReq":{"id":"components/examples/addIpRangeReq","value":{"description":"IP range name","ipAddress":"11.12.13.14","range":27},"summary":"Add IP range","description":"Request to add an IP range to an access control list."},"components/examples/addIpRangeRes":{"id":"components/examples/addIpRangeRes","value":{"description":"IP range name","ipAddress":"11.12.13.14","range":27,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01HA9BYAH3J5TFDGK62991YYWC","createTime":"2023-09-14T08:11:56.324855024","updateTime":""},"summary":"Add IP range","description":"The added IP range."},"components/examples/updateIpRangeReq":{"id":"components/examples/updateIpRangeReq","value":{"ipAddress":"11.12.13.14","range":27},"summary":"Update IP range","description":"Request to update an IP range for an access control list."},"components/examples/updateIpRangeRes":{"id":"components/examples/updateIpRangeRes","value":{"description":"IP range name","ipAddress":"11.12.13.14","range":27,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01HA9BYAH3J5TFDGK62991YYWC","createTime":"2023-09-14T08:11:56.324855024","updateTime":""},"summary":"Update IP range","description":"The updated IP range."},"components/examples/listTrunkAcls":{"id":"components/examples/listTrunkAcls","value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT"],"pageNumber":1,"size":1000,"totalItems":1},"summary":"List ACLs assigned to a trunk","description":"All access control lists assigned to a trunk."},"components/examples/addTrunkAclReq":{"id":"components/examples/addTrunkAclReq","value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT","01H8Y95DBJT31F104PWFVV9H8B"]},"summary":"Add ACLs to trunk","description":"Request to add access control lists to a trunk."},"components/examples/addTrunkAclRes":{"id":"components/examples/addTrunkAclRes","value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT","01H8Y95DBJT31F104PWFVV9H8B"]},"summary":"Add ACLs to trunk","description":"The access control lists added to a trunk."},"paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl":{"value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT","01H8Y95DBJT31F104PWFVV9H8B"]},"key":"addAcl","summary":"Add ACLs to trunk","description":"Request to add access control lists to a trunk.","id":"paths/~1trunks~1{trunkId}~1accessControlLists/post/requestBody/content/application~1json/examples/addAcl"},"paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl":{"value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT","01H8Y95DBJT31F104PWFVV9H8B"]},"key":"addAcl","summary":"Add ACLs to trunk","description":"The access control lists added to a trunk.","id":"paths/~1trunks~1{trunkId}~1accessControlLists/post/responses/200/content/application~1json/examples/addAcl"},"paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls":{"value":{"accessControlListIds":["01HA2E80QCBX185VVP21PJG9CT"],"pageNumber":1,"size":1000,"totalItems":1},"key":"listTrunkAcls","summary":"List ACLs assigned to a trunk","description":"All access control lists assigned to a trunk.","id":"paths/~1trunks~1{trunkId}~1accessControlLists/get/responses/200/content/application~1json/examples/listTrunkAcls"},"paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example":{"value":["01GNZ9MXEZ4K6S8GB7RW063VAN","01GNZ9MXEZ4K6S8GB7RW063VAN"],"id":"paths/~1trunks~1{trunkId}~1credentialLists/put/requestBody/content/application~1json/example"},"paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example":{"value":{"credentialListIds":["01GNZ9MXEZ4K6S8GB7RW063VAN","01GNZ9MXEZ4K6S8GB7RW063VAN"]},"id":"paths/~1trunks~1{trunkId}~1credentialLists/put/responses/200/content/application~1json/example"},"paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls":{"value":{"accessControlLists":[{"name":"My Access Control List","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01HA2E80QCBX185VVP21PJG9CT","createTime":"2023-09-11T15:37:30","updateTime":"2023-09-11T15:38:14","ipRanges":[{"description":"Location 1","ipAddress":"54.172.60.0","range":30,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA2E80QCBX185VVP21PJG9CT","id":"01HA2E80QMJS5G7MD576GJQD2X","createTime":"2023-09-11T15:37:30","updateTime":""},{"description":"Location 2","ipAddress":"54.244.51.0","range":30,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA2E80QCBX185VVP21PJG9CT","id":"01HA2E98KCZ1CNN0JP22F4JF3T","createTime":"2023-09-11T15:38:11","updateTime":""}]},{"name":"My ACL 2","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01H7ZSW728SHB9984CDGFV37RM","createTime":"2023-08-16T18:31:39","updateTime":"2023-08-25T07:51:40","ipRanges":[{"description":"Location 1","ipAddress":"137.192.80.69","range":32,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01H8Y95DBSPQAN4MD4298TY05Y","createTime":"2023-08-28T14:36:02","updateTime":"2023-09-05T10:45:53"},{"description":"Location 2","ipAddress":"137.192.78.69","range":32,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01H8YC0JTSXXVPBECC289QZG0J","createTime":"2023-08-28T15:25:50","updateTime":"2023-09-05T07:59:07"},{"description":"Location 3","ipAddress":"20.20.20.20","range":24,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01HA1ZPH6E2BTSG0MFM38BRYF6","createTime":"2023-09-11T11:23:17","updateTime":""}]}],"pageNumber":"1","size":1000,"totalItems":2},"key":"listAcls","summary":"List ACLs","description":"List all access control lists for the project.","id":"paths/~1accessControlLists/get/responses/200/content/application~1json/examples/listAcls"},"paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl":{"value":{"name":"My new ACL","enabled":true,"ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.15","range":20}]},"key":"createNewAcl","summary":"Create ACL","description":"Create a new access control list.","id":"paths/~1accessControlLists/post/requestBody/content/application~1json/examples/createNewAcl"},"paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl":{"value":{"name":"My new ACL","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":true,"id":"01HA9BRJW4J3QE4WBKVC337V4E","createTime":"2023-09-14T08:08:48.264185988","updateTime":"null,","ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.15","range":20,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA9BRJW4J3QE4WBKVC337V4E","id":"01HA9BRJYR9Q7ZBDYMXHVWT8S8","createTime":"2023-09-14T08:08:48.346874339","updateTime":""}]},"key":"createNewAcl","summary":"Create ACL","description":"The newly created access control list.","id":"paths/~1accessControlLists/post/responses/200/content/application~1json/examples/createNewAcl"},"paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl":{"value":{"name":"Test Prague 5","enabled":false,"ipRanges":[{"description":"Location 1","ipAddress":"15.15.15.16","range":20}]},"key":"updateAcl","summary":"Update ACL","description":"Update an access control list.","id":"paths/~1accessControlLists~1{id}/put/requestBody/content/application~1json/examples/updateAcl"},"paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl":{"value":{"name":"Test Prague 5","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":false,"id":"01HA9BRJW4J3QE4WBKVC337V4E","createTime":"2023-09-14T08:08:48","updateTime":"2023-09-14T08:10:10.187513334","ipRanges":[{"description":"Hradcany","ipAddress":"15.15.15.15","range":20,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA9BRJW4J3QE4WBKVC337V4E","id":"01HA9BRJYR9Q7ZBDYMXHVWT8S8","createTime":"2023-09-14T08:08:48","updateTime":""}]},"key":"updateAcl","summary":"Update ACL","description":"The updated access control list.","id":"paths/~1accessControlLists~1{id}/put/responses/200/content/application~1json/examples/updateAcl"},"paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange":{"value":{"description":"IP range name","ipAddress":"11.12.13.14","range":27},"key":"addIpRange","summary":"Add IP range","description":"Request to add an IP range to an access control list.","id":"paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/requestBody/content/application~1json/examples/addIpRange"},"paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange":{"value":{"description":"IP range name","ipAddress":"11.12.13.14","range":27,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01H8Y95DBJT31F104PWFVV9H8B","id":"01HA9BYAH3J5TFDGK62991YYWC","createTime":"2023-09-14T08:11:56.324855024","updateTime":""},"key":"addIpRange","summary":"Add IP range","description":"The added IP range.","id":"paths/~1accessControlLists~1{accessControlListId}~1ipRanges/post/responses/200/content/application~1json/examples/addIpRange"},"paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange":{"value":{"ipAddress":"11.12.13.14","range":27},"key":"updateIpRange","summary":"Update IP range","description":"Request to update an IP range for an access control list.","id":"paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/requestBody/content/application~1json/examples/updateIpRange"},"paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange":{"value":{"name":"Test Prague 5","projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","enabled":false,"id":"01HA9BRJW4J3QE4WBKVC337V4E","createTime":"2023-09-14T08:08:48","updateTime":"2023-09-14T08:10:10.187513334","ipRanges":[{"description":"Hradcany","ipAddress":"15.15.15.15","range":20,"projectId":"3acb7ae1-cf3d-4112-ba5e-3a9d8c71cd47","accessControlListId":"01HA9BRJW4J3QE4WBKVC337V4E","id":"01HA9BRJYR9Q7ZBDYMXHVWT8S8","createTime":"2023-09-14T08:08:48","updateTime":""}]},"key":"updateIpRange","summary":"Update ACL","description":"The updated access control list.","id":"paths/~1accessControlLists~1{accessControlListId}~1ipRanges~1{ipRangeId}/put/responses/200/content/application~1json/examples/updateIpRange"}},"securitySchemeStore":{"Basic":{"id":"Basic","type":"http","scheme":"basic","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use basic authentication, use your Access Key ID as your username and your Access Key Secret as your password. To read about more basic authentication, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#basic"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Basic Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}]},"OAuth2.0":{"id":"OAuth2.0","type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use OAuth 2.0 authentication, use your Access Key ID and Access Key Secret to obtain your bearer token. For detailed instructions on how to do this, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developers.sinch.com/docs/est/api-reference/est#oauth"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OAuth Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" section."},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"https://auth.sinch.com/oauth2/token","scopes":{}}}}},"servers":[{"url":"https://elastic-trunking.api.sinch.com/v1/projects/{projectId}","variables":{"projectId":{"default":"","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"projectId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a required parameter you must include when making any API calls. You can find your project ID on your "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://dashboard.sinch.com"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"dashboard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}],"specType":"openapi"},"options":{"sortRequiredPropsFirst":true,"mockServer":{"url":"/_mock/docs/est/api-reference/est","position":"off","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/docs/est/api-reference/est.json?download"},{"url":"/_bundle/docs/est/api-reference/est.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"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.\n\n## Authentication\n\nElastic 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.\n\n### Basic\n\n{% partial file=\"/partials/authentication/basic/_intro.md\"/ %}\n{% partial file=\"/partials/authentication/basic/_instructions.md\"/ %}\n\n### OAuth2\n\n{% partial file=\"/partials/authentication/oauth/_intro.md\"/ %}\n{% partial file=\"/partials/authentication/oauth/_instructions.md\"/ %}\n\n## Servers\n\nElastic SIP Trunk API serves all endpoints from the following server:\n\n```https://elastic-trunking.api.sinch.com/v1/projects/{projectId}```\n\n{% admonition type=\"info\" name=\"Note:\" %}\nThe `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).\n{% /admonition %}"}},"baseSlug":"/docs/est/api-reference/est","routesMapping":{}}