Wazo Applications API

The applications API from Wazo — 25 operation(s) for applications.

Operations 35

GET /applications/{application_uuid} Show an application
PUT /applications/{application_uuid} Update application #
DELETE /applications/{application_uuid} Delete application #
GET /applications/{application_uuid}/calls List calls from the application
POST /applications/{application_uuid}/calls Make a new call to the application
DELETE /applications/{application_uuid}/calls/{call_id} Hangup a call from the application
PUT /applications/{application_uuid}/calls/{call_id}/hold/start Place a call on hold
PUT /applications/{application_uuid}/calls/{call_id}/hold/stop Resume a call that has been placed on hold
PUT /applications/{application_uuid}/calls/{call_id}/moh/{moh_uuid}/start Starts playing a music on hold
PUT /applications/{application_uuid}/calls/{call_id}/moh/stop Stops playing a music on hold
PUT /applications/{application_uuid}/calls/{call_id}/mute/start Mute a call
PUT /applications/{application_uuid}/calls/{call_id}/mute/stop Unmute a call
PUT /applications/{application_uuid}/calls/{call_id}/answer Answer a call
PUT /applications/{application_uuid}/calls/{call_id}/progress/start Play the progress ringing tone
PUT /applications/{application_uuid}/calls/{call_id}/progress/stop Stop playing the progress ringing tone.
POST /applications/{application_uuid}/calls/{call_id}/playbacks Play file to the call
POST /applications/{application_uuid}/calls/{call_id}/snoops Start snooping on a call
PUT /applications/{application_uuid}/calls/{call_id}/dtmf Simulate a user pressing DTMF keys
GET /applications/{application_uuid}/nodes List nodes from the application
POST /applications/{application_uuid}/nodes Make a new node and add calls
GET /applications/{application_uuid}/nodes/{node_uuid} Show a node
DELETE /applications/{application_uuid}/nodes/{node_uuid} Delete node and hangup all calls
POST /applications/{application_uuid}/nodes/{node_uuid}/calls Make a new call to the node
POST /applications/{application_uuid}/nodes/{node_uuid}/calls/user Initiate a call to a user and insert it in the node
PUT /applications/{application_uuid}/nodes/{node_uuid}/calls/{call_id} Insert call to the node
DELETE /applications/{application_uuid}/nodes/{node_uuid}/calls/{call_id} Remove call from the node
DELETE /applications/{application_uuid}/playbacks/{playback_uuid} Stop and remove playback
GET /applications/{application_uuid}/snoops List active snoops
GET /applications/{application_uuid}/snoops/{snoop_uuid} View snooping parameters
PUT /applications/{application_uuid}/snoops/{snoop_uuid} Change snooping parameters
DELETE /applications/{application_uuid}/snoops/{snoop_uuid} Stop snooping
GET /applications List application #
POST /applications Create application #
PUT /lines/{line_id}/applications/{application_uuid} Associate line and application #
DELETE /lines/{line_id}/applications/{application_uuid} Dissociate line and application #

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

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

Get an API key

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

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

OpenAPI Specification

wazo-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wazo Applications API
  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
  version: '1.0'
  description: 'Operations tagged applications across 2 of this provider''s published API definitions: wazo-calld-api-openapi.yml, wazo-confd-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /1.0
- url: /1.1
security:
- wazo_auth_token: []
tags:
- name: applications
paths:
  /applications/{application_uuid}:
    get:
      summary: Show an application
      description: '**Required ACL:** `calld.applications.{application_uuid}.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '200':
          description: Application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '404':
          description: No such application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    put:
      operationId: update_application
      summary: Update application
      description: '**Required ACL:** `confd.applications.{application_uuid}.update`'
      tags:
      - applications
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/application_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/Application_2'
        required: true
    delete:
      operationId: delete_application
      summary: Delete application
      description: '**Required ACL:** `confd.applications.{application_uuid}.delete`'
      tags:
      - applications
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/application_uuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '400':
          $ref: '#/components/responses/DeleteError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls:
    get:
      summary: List calls from the application
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '200':
          description: Application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCalls'
        '404':
          description: No such application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    post:
      summary: Make a new call to the application
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.create`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '201':
          description: The new call ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCall'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationCallRequestToExten'
        description: node parameters
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}:
    delete:
      summary: Hangup a call from the application
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.delete`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: Call has been hung up
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/hold/start:
    put:
      summary: Place a call on hold
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.hold.start.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call is now on hold
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/hold/stop:
    put:
      summary: Resume a call that has been placed on hold
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.hold.stop.update'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call has been resumed
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/moh/{moh_uuid}/start:
    put:
      summary: Starts playing a music on hold
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.moh.{moh_uuid}.start.update`


        Starts playing a music on hold on a call. If the music on hold is interrupted for a playback or another

        action, the music on hold will not restart automatically after the interruption.

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      - $ref: '#/components/parameters/ApplicationMOHUUID'
      tags:
      - applications
      responses:
        '204':
          description: The MOH has been started
        '404':
          description: No such application, call or moh
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/moh/stop:
    put:
      summary: Stops playing a music on hold
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.moh.{moh_uuid}.stop.update'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The MOH has been stopped
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/mute/start:
    put:
      summary: Mute a call
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.mute.start.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call is now muted
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/mute/stop:
    put:
      summary: Unmute a call
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.mute.stop.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call is now unmuted
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/answer:
    put:
      summary: Answer a call
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.answer.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call is now answered
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/progress/start:
    put:
      summary: Play the progress ringing tone
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.progress.start.update`


        The progress ringing tone is the sound heard by a caller while the other party is ringing.

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call is now playing the progress ringing tone
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/progress/stop:
    put:
      summary: Stop playing the progress ringing tone.
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.progress.stop.update`


        The progress ringing tone is the sound heard by a caller while the other party is ringing.


        Limitation: this only works when the ringing tone is played by Wazo

        through audio media (e.g. when using `/progress` after `/answer`). If

        the phone is emitting the ringing tone directly to the user, then it

        cannot be stopped, and the response code will still be 204.

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: The call has stopped playing the progress ringing tone
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/playbacks:
    post:
      summary: Play file to the call
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.playbacks.create`


        URI examples:


        * sound:tt-weasels

        * digits:4188001234

        * number:321

        * characters:abc

        * tone:ring

        * recording:my-recording

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '200':
          description: Play has been sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationPlayback'
        '400':
          description: No such playback
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationPlayback'
        description: playback parameters
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/snoops:
    post:
      summary: Start snooping on a call
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.snoops.create`


        The whisper mode indicate which part of the snooped channel can hear the snooper.


        Given Alice calls Bob and Charles snoops on Bob


        * none: No one can hear the snooper

        * both: Alice and Bob can hear Charles

        * in: Alice can hear Charles

        * out: Bob can hear Charles

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '201':
          description: Snoop started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSnoop'
        '400':
          description: No such call or Invalid whisper mode
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSnoop'
        description: snoop parameters
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/calls/{call_id}/dtmf:
    put:
      summary: Simulate a user pressing DTMF keys
      description: '**Required ACL:** `calld.applications.{application_uuid}.calls.{call_id}.dtmf.update'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      - $ref: '#/components/parameters/DTMFDigits'
      tags:
      - applications
      responses:
        '204':
          description: The digits have been sent
        '404':
          description: No such application or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/nodes:
    get:
      summary: List nodes from the application
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '200':
          description: Application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationNodes'
        '404':
          description: No such application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    post:
      summary: Make a new node and add calls
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.create`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '201':
          description: The new node ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationNode'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationNodeRequest'
        description: node parameters
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/nodes/{node_uuid}:
    get:
      summary: Show a node
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      tags:
      - applications
      responses:
        '200':
          description: ApplicationNode
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationNode'
        '404':
          description: No such application or node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    delete:
      summary: Delete node and hangup all calls
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.delete`


        **Not implemented**

        '
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      tags:
      - applications
      responses:
        '204':
          description: Call has been hung up
        '404':
          description: No such application or node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/nodes/{node_uuid}/calls:
    post:
      summary: Make a new call to the node
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.calls.create`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      tags:
      - applications
      responses:
        '201':
          description: The new call ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCall'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such application or node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationCallRequestToExten'
        description: Call parameters
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/nodes/{node_uuid}/calls/user:
    post:
      summary: Initiate a call to a user and insert it in the node
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.calls.user.create`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      tags:
      - applications
      responses:
        '201':
          description: The new call ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCall'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such application or node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationCallRequestToUser'
        description: Parameters for the new call
        required: true
    servers:
    - url: /1.0
  /applications/{application_uuid}/nodes/{node_uuid}/calls/{call_id}:
    put:
      summary: Insert call to the node
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.calls.{call_id}.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: Call has been added to the node
        '404':
          description: No such application or node or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    delete:
      summary: Remove call from the node
      description: '**Required ACL:** `calld.applications.{application_uuid}.nodes.{node_uuid}.calls.{call_id}.delete`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationNodeUUID'
      - $ref: '#/components/parameters/ApplicationCallID'
      tags:
      - applications
      responses:
        '204':
          description: Call has been removed from the node
        '404':
          description: No such application or node or call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/playbacks/{playback_uuid}:
    delete:
      summary: Stop and remove playback
      description: '**Required ACL:** `calld.applications.{application_uuid}.playbacks.{playback_uuid}.delete`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationPlaybackUUID'
      tags:
      - applications
      responses:
        '204':
          description: Playback has been stopped and removed
        '404':
          description: No such application or playback
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/snoops:
    get:
      summary: List active snoops
      description: '**Required ACL:** `calld.applications.{application_uuid}.snoops.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      tags:
      - applications
      responses:
        '200':
          description: Snoop list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSnoops'
        '404':
          description: No such application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications/{application_uuid}/snoops/{snoop_uuid}:
    get:
      summary: View snooping parameters
      description: '**Required ACL:** `calld.applications.{application_uuid}.snoops.{snoop_uuid}.read`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationSnoopUUID'
      tags:
      - applications
      responses:
        '200':
          description: Snoop parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSnoop'
        '404':
          description: No such application or snoop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    put:
      summary: Change snooping parameters
      description: '**Required ACL:** `calld.applications.{application_uuid}.snoops.{snoop_uuid}.update`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationSnoopUUID'
      tags:
      - applications
      responses:
        '204':
          description: Snooping has been modifier
        '404':
          description: No such application or snoop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSnoopPut'
        description: snoop parameters
        required: true
    delete:
      summary: Stop snooping
      description: '**Required ACL:** `calld.applications.{application_uuid}.snoops.{snoop_uuid}.delete`'
      parameters:
      - $ref: '#/components/parameters/ApplicationUUID'
      - $ref: '#/components/parameters/ApplicationSnoopUUID'
      tags:
      - applications
      responses:
        '204':
          description: Snooping has been stopped
        '404':
          description: No such application or snoop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/AnotherServiceUnavailable'
    servers:
    - url: /1.0
  /applications:
    get:
      operationId: list_applications
      summary: List application
      description: '**Required ACL:** `confd.applications.read`'
      tags:
      - applications
      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: Applications list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationItems'
    post:
      operationId: create_application
      summary: Create application
      description: '**Required ACL:** `confd.applications.create`'
      tags:
      - applications
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The Application has been created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application_2'
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application_2'
        description: Application parameters
        required: true
    servers:
    - url: /1.1
  /lines/{line_id}/applications/{application_uuid}:
    put:
      operationId: associate_line_application
      summary: Associate line and application
      description: '''**Required ACL:** `confd.lines.{line_id}.applications.{application_uuid}.update`''


        **WARNING**: Association will disable the effect of the line `context` field

        '
      tags:
      - applications
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/application_uuid'
      responses:
        '204':
          description: Line and application associated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    delete:
      operationId: dissociate_line_application
      summary: Dissociate line and application
      description: '**Required ACL:** `confd.lines.{line_id}.applications.{application_uuid}.delete`'
      tags:
      - applications
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/lineid'
      - $ref: '#/components/parameters/application_uuid'
      responses:
        '204':
          description: Line and application dissociated
        '400':
          $ref: '#/components/responses/GenericError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /1.1
components:
  parameters:
    DTMFDigits:
      name: digits
      in: query
      description: Digits to send via DTMF. Must contain only `0-9*#ABCD` (letters are case insensitive).
      required: true
      schema:
        type: string
    ApplicationPlaybackUUID:
      name: playback_uuid
      in: path
      description: ID of the playback
      required: true
      schema:
        type: string
    ApplicationCallID:
      name: call_id
      in: path
      description: ID of the call
      required: true
      schema:
        type: string
    ApplicationMOHUUID:
      name: moh_uuid
      in: path
      description: UUID of the music on hold
      required: true
      schema:
        type: string
    ApplicationNodeUUID:
      name: node_uuid
      in: path
      description: UUID of the node
      required: true
      schema:
        type: string
    ApplicationSnoopUUID:
      name: snoop_uuid
      in: path
      description: UUID of the snoop
      required: true
      schema:
        type: string
    ApplicationUUID:
      name: application_uuid
      in: path
      description: UUID of the application
      required: true
      schema:
        type: string
    application_uuid:
      req

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