Wazo Endpoints API

The endpoints API from Wazo — 18 operation(s) for endpoints.

Operations 39

GET /endpoints/custom List Custom endpoints #
POST /endpoints/custom Create Custom endpoint #
GET /endpoints/custom/{custom_id} Get Custom Endpoint #
PUT /endpoints/custom/{custom_id} Update Custom Endpoint #
DELETE /endpoints/custom/{custom_id} Delete Custom Endpoint #
GET /endpoints/iax List IAX endpoints #
POST /endpoints/iax Create IAX endpoint #
GET /endpoints/iax/{iax_id} Get IAX Endpoint #
PUT /endpoints/iax/{iax_id} Update IAX Endpoint #
DELETE /endpoints/iax/{iax_id} Delete IAX Endpoint #
GET /endpoints/sccp List SCCP endpoints #
POST /endpoints/sccp Create SCCP endpoint #
GET /endpoints/sccp/{sccp_id} Get SCCP Endpoint #
PUT /endpoints/sccp/{sccp_id} Update SCCP Endpoint #
DELETE /endpoints/sccp/{sccp_id} Delete SCCP Endpoint #
GET /endpoints/sip List SIP endpoints #
POST /endpoints/sip Create a SIP endpoint #
GET /endpoints/sip/{sip_uuid} Get SIP Endpoint #
PUT /endpoints/sip/{sip_uuid} Update SIP Endpoint #
DELETE /endpoints/sip/{sip_uuid} Delete SIP Endpoint #
GET /endpoints/sip/templates List SIP endpoints templates #
POST /endpoints/sip/templates Create a SIP endpoint template #
GET /endpoints/sip/templates/{template_uuid} Get SIP Endpoint template #
PUT /endpoints/sip/templates/{template_uuid} Update SIP Endpoint Template #
DELETE /endpoints/sip/templates/{template_uuid} Delete SIP Endpoint Template #
PUT /lines/{line_id}/endpoints/custom/{custom_id} Associate line and Custom endpoint #
DELETE /lines/{line_id}/endpoints/custom/{custom_id} Dissociate line and Custom endpoint #
PUT /lines/{line_id}/endpoints/sccp/{sccp_id} Associate line and SCCP endpoint #
DELETE /lines/{line_id}/endpoints/sccp/{sccp_id} Dissociate line and SCCP endpoint #
PUT /lines/{line_id}/endpoints/sip/{sip_uuid} Associate line and SIP endpoint #
DELETE /lines/{line_id}/endpoints/sip/{sip_uuid} Dissociate line and SIP endpoint #
PUT /trunks/{trunk_id}/endpoints/custom/{custom_id} Associate trunk and Custom endpoint #
DELETE /trunks/{trunk_id}/endpoints/custom/{custom_id} Dissociate trunk and Custom endpoint #
PUT /trunks/{trunk_id}/endpoints/iax/{iax_id} Associate trunk and IAX endpoint #
DELETE /trunks/{trunk_id}/endpoints/iax/{iax_id} Dissociate trunk and IAX endpoint #
PUT /trunks/{trunk_id}/endpoints/sip/{sip_uuid} Associate trunk and SIP endpoint #
DELETE /trunks/{trunk_id}/endpoints/sip/{sip_uuid} Dissociate trunk and SIP endpoint #
GET /users/{user_uuid}/lines/{line_id}/associated/endpoints/sip Get SIP endpoint of a line for a user #
GET /users/{user_uuid}/lines/main/associated/endpoints/sip Get SIP endpoint of main line for a user #

Documentation

Specifications

Other Resources

🔗
Console
https://api.wazo.io/documentation/console/authentication/
🔗
SourceCode
https://github.com/wazo-platform/wazo-auth
🔗
ChangeLog
https://github.com/wazo-platform/wazo-auth/blob/master/CHANGELOG.md
🔗
Conventions
https://raw.githubusercontent.com/api-evangelist/wazo/refs/heads/main/conventions/wazo-conventions.yml
🔗
ErrorCatalog
https://raw.githubusercontent.com/api-evangelist/wazo/refs/heads/main/errors/wazo-problem-types.yml
🔗
Console
https://api.wazo.io/documentation/console/configuration/
🔗
SourceCode
https://github.com/wazo-platform/wazo-confd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-confd/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/application/
🔗
SourceCode
https://github.com/wazo-platform/wazo-calld
🔗
ChangeLog
https://github.com/wazo-platform/wazo-calld/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/cdr/
🔗
SourceCode
https://github.com/wazo-platform/wazo-call-logd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-call-logd/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/contact/
🔗
SourceCode
https://github.com/wazo-platform/wazo-dird
🔗
ChangeLog
https://github.com/wazo-platform/wazo-dird/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/webhook/
🔗
SourceCode
https://github.com/wazo-platform/wazo-webhookd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-webhookd/blob/master/CHANGELOG.md
🔗
Webhooks
https://raw.githubusercontent.com/api-evangelist/wazo/refs/heads/main/asyncapi/wazo-events-webhooks.yml
🔗
Console
https://api.wazo.io/documentation/console/plugins/
🔗
SourceCode
https://github.com/wazo-platform/wazo-plugind
🔗
ChangeLog
https://github.com/wazo-platform/wazo-plugind/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/agent/
🔗
SourceCode
https://github.com/wazo-platform/wazo-agentd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-agentd/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/chat/
🔗
SourceCode
https://github.com/wazo-platform/wazo-chatd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-chatd/blob/master/CHANGELOG.md
🔗
SourceCode
https://github.com/wazo-platform/wazo-phoned
🔗
ChangeLog
https://github.com/wazo-platform/wazo-phoned/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/setup/
🔗
SourceCode
https://github.com/wazo-platform/wazo-setupd
🔗
ChangeLog
https://github.com/wazo-platform/wazo-setupd/blob/master/CHANGELOG.md
🔗
Console
https://api.wazo.io/documentation/console/amid/
🔗
SourceCode
https://github.com/wazo-platform/wazo-amid
🔗
ChangeLog
https://github.com/wazo-platform/wazo-amid/blob/master/CHANGELOG.md

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

wazo-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: wazo-confd Endpoints API
  description: "Confd exposes an API for managing core resources on a Wazo server such as users, extensions, devices, voicemails, queues, etc. Resources can be associated together to provide additional functionality. For example: By associating a voicemail with a user, calls will automatically fallback on to the voicemail when the user cannot answer.\n\nImplementation notes\n====================\n\nErrors\n------\n\nResponses containing errors will have a status code in the 400 or 500 class. A list of error messages will be returned in the body of the response as a JSON-encoded array:\n\n~~~\n[\n    \"Input error - User not found\",\n    \"Resource error - User not associated to a line\"\n]\n~~~\n\n\nUpdating resources via PUT\n--------------------------\n\nWhen updating a resource, all fields become optional. In other words, only values that have been changed need to be sent to the server. Please note that this behavior may change in future versions of the API."
  version: '1.1'
  license:
    name: GPL v3
    url: http://www.gnu.org/licenses/gpl.txt
  contact:
    name: Wazo Dev Team
    url: https://wazo-platform.org/
    email: dev@wazo.community
  x-logo:
    url: https://wazo-platform.org/images/logo-black.svg
    backgroundColor: '#FAFAFA'
    altText: Wazo Logo
servers:
- url: /1.1
security:
- wazo_auth_token: []
tags:
- name: endpoints
paths:
  /endpoints/custom:
    get:
      operationId: list_endpoints_custom
      summary: List Custom endpoints
      description: '**Required ACL:** `confd.endpoints.custom.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/recurse'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/search'
      responses:
        '200':
          description: Custom endpoint list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointCustomItems'
    post:
      operationId: create_endpoint_custom
      summary: Create Custom endpoint
      description: '**Required ACL:** `confd.endpoints.custom.create`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: Custom endpoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointCustom'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointCustom'
        description: Custom Endpoint to create
        required: true
  /endpoints/custom/{custom_id}:
    get:
      operationId: get_endpoint_custom
      summary: Get Custom Endpoint
      description: '**Required ACL:** `confd.endpoints.custom.{custom_id}.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/customid'
      responses:
        '200':
          description: Custom Endpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointCustom'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_endpoint_custom
      summary: Update Custom Endpoint
      description: '**Required ACL:** `confd.endpoints.custom.{custom_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointCustom'
        required: true
    delete:
      operationId: delete_endpoint_custom
      summary: Delete Custom Endpoint
      description: '**Required ACL:** `confd.endpoints.custom.{custom_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /endpoints/iax:
    get:
      operationId: list_endpoints_iax
      summary: List IAX endpoints
      description: '**Required ACL:** `confd.endpoints.iax.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/recurse'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/search'
      responses:
        '200':
          description: IAX endpoint list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointIAXItems'
    post:
      operationId: create_endpoint_iax
      summary: Create IAX endpoint
      description: '**Required ACL:** `confd.endpoints.iax.create`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: IAX endpoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointIAX'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointIAX'
        description: IAX Endpoint to create
  /endpoints/iax/{iax_id}:
    get:
      operationId: get_endpoint_iax
      summary: Get IAX Endpoint
      description: '**Required ACL:** `confd.endpoints.iax.{iax_id}.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/iaxid'
      responses:
        '200':
          description: IAX Endpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointIAX'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_endpoint_iax
      summary: Update IAX Endpoint
      description: '**Required ACL:** `confd.endpoints.iax.{iax_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/iaxid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointIAX'
        required: true
    delete:
      operationId: delete_endpoint_iax
      summary: Delete IAX Endpoint
      description: '**Required ACL:** `confd.endpoints.iax.{iax_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/iaxid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /endpoints/sccp:
    get:
      operationId: list_endpoints_sccp
      summary: List SCCP endpoints
      description: '**Required ACL:** `confd.endpoints.sccp.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/recurse'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/search'
      responses:
        '200':
          description: SCCP endpoint list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSccpItems'
    post:
      operationId: create_endpoint_sccp
      summary: Create SCCP endpoint
      description: '**Required ACL:** `confd.endpoints.sccp.create`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: SCCP endpoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSccp'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSccp'
        description: SCCP Endpoint to create
  /endpoints/sccp/{sccp_id}:
    get:
      operationId: get_endpoint_sccp
      summary: Get SCCP Endpoint
      description: '**Required ACL:** `confd.endpoints.sccp.{sccp_id}.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sccpid'
      responses:
        '200':
          description: SCCP Endpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSccp'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_endpoint_sccp
      summary: Update SCCP Endpoint
      description: '**Required ACL:** `confd.endpoints.sccp.{sccp_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sccpid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSccp'
        required: true
    delete:
      operationId: delete_endpoint_sccp
      summary: Delete SCCP Endpoint
      description: '**Required ACL:** `confd.endpoints.sccp.{sccp_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sccpid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /endpoints/sip:
    get:
      operationId: list_endpoints_sip
      summary: List SIP endpoints
      description: '**Required ACL:** `confd.endpoints.sip.read`


        List all SIP configurations, each individual configuration includes only fields that it

        defines. Inherited fields from the templates or default values are not returned here.

        '
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/recurse'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/query_string_uuid_filter'
      responses:
        '200':
          description: SIP endpoint list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIPItems'
    post:
      operationId: create_endpoint_sip
      summary: Create a SIP endpoint
      description: '**Required ACL:** `confd.endpoints.sip.create`


        Create a new SIP endpoint. This endpoint can inherit from other endpoints, only modify

        fields that have to be modified.

        '
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: SIP endpoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSIP'
        description: SIP Endpoint to create
  /endpoints/sip/{sip_uuid}:
    get:
      operationId: get_endpoint_sip
      summary: Get SIP Endpoint
      description: '**Required ACL:** `confd.endpoints.sip.{sip_uuid}.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sipuuid'
      - $ref: '#/components/parameters/endpoint_sip_view'
      responses:
        '200':
          description: SIP Endpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_endpoint_sip
      summary: Update SIP Endpoint
      description: '**Required ACL:** `confd.endpoints.sip.{sip_uuid}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSIP'
        required: true
    delete:
      operationId: delete_endpoint_sip
      summary: Delete SIP Endpoint
      description: '**Required ACL:** `confd.endpoints.sip.{sip_uuid}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /endpoints/sip/templates:
    get:
      operationId: list_endpoints_sip_templates
      summary: List SIP endpoints templates
      description: '**Required ACL:** `confd.endpoints.sip.templates.read`


        List all SIP configuration templates, each individual configuration includes only fields that it

        defines. Inherited fields from the templates or default values are not returned here.

        '
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/recurse'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/search'
      responses:
        '200':
          description: SIP endpoint template list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIPItems'
    post:
      operationId: create_endpoint_sip_template
      summary: Create a SIP endpoint template
      description: '**Required ACL:** `confd.endpoints.sip.templates.create`


        Create a new SIP endpoint configuration template. This endpoint can inherit from other templates,

        only modify fields that have to be modified.

        '
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: SIP endpoint created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSIP'
        description: SIP Endpoint to create
  /endpoints/sip/templates/{template_uuid}:
    get:
      operationId: get_endpoint_sip_template
      summary: Get SIP Endpoint template
      description: '**Required ACL:** `confd.endpoints.sip.templates.{template_uuid}.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/template_uuid'
      responses:
        '200':
          description: SIP Endpoint template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_endpoint_sip_template
      summary: Update SIP Endpoint Template
      description: '**Required ACL:** `confd.endpoints.sip.templates.{template_uuid}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/template_uuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointSIP'
        required: true
    delete:
      operationId: delete_endpoint_sip_template
      summary: Delete SIP Endpoint Template
      description: '**Required ACL:** `confd.endpoints.sip.templates.{template_uuid}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/template_uuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /lines/{line_id}/endpoints/custom/{custom_id}:
    put:
      operationId: associate_line_endpoint_custom
      summary: Associate line and Custom endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.custom.{custom_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          description: Line and Custom endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_line_endpoint_custom
      summary: Dissociate line and Custom endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.custom.{custom_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          description: Line and Custom endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /lines/{line_id}/endpoints/sccp/{sccp_id}:
    put:
      operationId: associate_line_endpoint_sccp
      summary: Associate line and SCCP endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.sccp.{sccp_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/sccpid'
      responses:
        '204':
          description: Line and SCCP endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_line_endpoint_sccp
      summary: Dissociate line and SCCP endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.sccp.{sccp_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/sccpid'
      responses:
        '204':
          description: Line and SCCP endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /lines/{line_id}/endpoints/sip/{sip_uuid}:
    put:
      operationId: associate_line_endpoint_sip
      summary: Associate line and SIP endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.sip.{sip_uuid}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          description: Line and SIP endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_line_endpoint_sip
      summary: Dissociate line and SIP endpoint
      description: '**Required ACL:** `confd.lines.{line_id}.endpoints.sip.{sip_uuid}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          description: Line and SIP endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /trunks/{trunk_id}/endpoints/custom/{custom_id}:
    put:
      operationId: associate_trunk_endpoint_custom
      summary: Associate trunk and Custom endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.custom.{custom_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          description: Trunk and Custom endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_trunk_endpoint_custom
      summary: Dissociate trunk and Custom endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.custom.{custom_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/customid'
      responses:
        '204':
          description: Trunk and Custom endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /trunks/{trunk_id}/endpoints/iax/{iax_id}:
    put:
      operationId: associate_trunk_endpoint_iax
      summary: Associate trunk and IAX endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.iax.{iax_id}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/iaxid'
      responses:
        '204':
          description: Trunk and IAX endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_trunk_endpoint_iax
      summary: Dissociate trunk and IAX endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.iax.{iax_id}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/iaxid'
      responses:
        '204':
          description: Trunk and IAX endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /trunks/{trunk_id}/endpoints/sip/{sip_uuid}:
    put:
      operationId: associate_trunk_endpoint_sip
      summary: Associate trunk and SIP endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.sip.{sip_uuid}.update`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          description: Trunk and SIP endpoint associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_trunk_endpoint_sip
      summary: Dissociate trunk and SIP endpoint
      description: '**Required ACL:** `confd.trunks.{trunk_id}.endpoints.sip.{sip_uuid}.delete`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/trunkid'
      - $ref: '#/components/parameters/sipuuid'
      responses:
        '204':
          description: Trunk and SIP endpoint dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /users/{user_uuid}/lines/{line_id}/associated/endpoints/sip:
    get:
      operationId: get_user_line_associated_endpoints_sip
      summary: Get SIP endpoint of a line for a user
      description: '**Required ACL:** `confd.users.{user_uuid}.lines.{line_id}.associated.endpoints.sip.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/useruuid'
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/endpoint_sip_view'
      responses:
        '200':
          description: SIP endpoint of a line for a user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '400':
          description: Invalid `view`
  /users/{user_uuid}/lines/main/associated/endpoints/sip:
    get:
      operationId: get_user_line_main_associated_endpoints_sip
      summary: Get SIP endpoint of main line for a user
      description: '**Required ACL:** `confd.users.{user_uuid}.lines.main.associated.endpoints.sip.read`'
      tags:
      - endpoints
      parameters:
      - $ref: '#/components/parameters/useruuid'
      - $ref: '#/components/parameters/endpoint_sip_view'
      responses:
        '200':
          description: SIP endpoint of main line for a user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointSIP'
        '400':
          description: Invalid `view`
components:
  schemas:
    SIPIdentifySectionOptions:
      title: PJSIP Identify Section Options
      $ref: '#/components/schemas/KeyValueOption'
    SIPTransportRelation:
      properties:
        uuid:
          type: string
      required:
      - uuid
    EndpointSIP:
      title: SIP Endpoint
      properties:
        uuid:
          type: string
          description: The UUID of this resource
          readOnly: true
        name:
          type: string
          description: The name of the PJSIP entity, auto-generated if missing
        label:
          type: string
          description: The human readable name for this configuration
        aor_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPAORSectionOptions'
          description: A list of PJSIP AOR section options for this endpoint
        auth_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPAuthSectionOptions'
          description: A list of PJSIP auth section options for this endpoint
        endpoint_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPEndpointSectionOptions'
          description: A list of PJSIP endpoint section options for this endpoint
        identify_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPIdentifySectionOptions'
          description: A list of PJSIP identify section options for this endpoint
        registration_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPRegistrationSectionOptions'
          description: A list of PJSIP registration section options for this endpoint
        registration_outbound_auth_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPAuthSectionOptions'
          description: A list of PJSIP auth section options for this endpoint
        outbound_auth_section_options:
          type: array
          items:
            $ref: '#/components/schemas/SIPAuthSectionOptions'
          description: A list of PJSIP auth section options for this endpoint
        transport:
          description: The transport used by this endpoint
          $ref: '#/components/schemas/SIPTransportRelation'
        templates:
          type: array
          items:
            $ref: '#/components/schemas/EndpointSIPTemplatesRelation'
          description: 'A list of templates this configuration will inherit from.


            The inheritance only applies to option sections. Not to the name, label and other fields.

            For a given list of templates [A, B, C] A will be applied over B. C will be applied over (A,B) etc.

            '
        tenant_uuid:
          type: string
          description: The UUID of the tenant
          readOnly: true
        asterisk_id:
          type: string
          description: The ID of the Asterisk onto which this configuration applies.
    EndpointRelationLine:
      properties:
        line:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/LineRelationBase'
    SIPAuthSectionOptions:
      title: PJSIP Auth Section Options
      $ref: '#/components/schemas/KeyValueOption'
    EndpointSIPItems:
      title: SIP Endpoints
      properties:
        items:
          items:
            $ref: '#/components/schemas/EndpointSIP'
          type: array
        total:
          type: integer
    KeyValueOption:
      description: "Options must have the following form:\n```\n{\n  \"options\": [\n      [\"option\", \"value\"],\n  ]\n}\n```\n"
      title: Key Value
      type: array
      items:
        type: string
      maxItems: 2
      minItems: 2
      example:
      - option
      - value
    EndpointSccpRelationBase:
      properties:
        id:
          type: integer
          description: SCCP Endpoint ID
          readOnly: true
    EndpointCustomItems:
      title: Custom Endpoints
      properties:
        items:
          items:
            $ref: '#/components/schemas/EndpointCustom'
          type: array
        total:
          type: integer
    EndpointSIPTemplatesRelation:
      properties:
        uuid:
          type: string
          description: The UUID of this resource
        label:
          type: string
          description: The label of this resource
          readOnly: true
      required:
      - uuid
    EndpointCustomRelationBase:
      properties:
        id:
          type: integer
          description: Custom Endpoint ID
          readOnly: true
        interface:
          type: string
          description: Asterisk interface to use. (e.g. 'dahdi/i1')
    TrunkRelationBase:
      properties:
        id:
          type: integer
          readOnly: true
          description: The id of the trunk
        tenant_uuid:
          type: string
          description: The U

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