Wazo Configuration API

The configuration API from Wazo — 26 operation(s) for configuration.

Operations 60

GET /configuration/live_reload Get live reload status #
PUT /configuration/live_reload Update live reload status #
GET /backends List all loaded backends #
GET /backends/conference/sources Get all `conference` source configurations #
POST /backends/conference/sources Configure a source for the `conference` backend #
GET /backends/conference/sources/{source_uuid} Get a `conference` source configuration #
PUT /backends/conference/sources/{source_uuid} Update a `conference` source configuration #
DELETE /backends/conference/sources/{source_uuid} Delete a `conference` source configuration #
GET /services List all loaded services #
GET /backends/csv/sources Get all `csv` source configurations #
POST /backends/csv/sources Configure a source for the `csv` backend #
GET /backends/csv/sources/{source_uuid} Get a `csv` source configuration #
PUT /backends/csv/sources/{source_uuid} Update a `csv` source configuration #
DELETE /backends/csv/sources/{source_uuid} Delete a `csv` source configuration #
GET /backends/csv_ws/sources Get all `csv_ws` source configurations #
POST /backends/csv_ws/sources Configure a source for the `csv_ws` backend #
GET /backends/csv_ws/sources/{source_uuid} Get a `csv_ws` source configuration #
PUT /backends/csv_ws/sources/{source_uuid} Update a `csv_ws` source configuration #
DELETE /backends/csv_ws/sources/{source_uuid} Delete a `csv_ws` source configuration #
GET /displays List displays #
POST /displays Create a new display configuration #
GET /displays/{display_uuid} Get display #
PUT /displays/{display_uuid} Update display #
DELETE /displays/{display_uuid} Delete display #
GET /backends/google/sources Get google configuration #
POST /backends/google/sources Configure a source for the google backend #
GET /backends/google/sources/{source_uuid} Get a `google` source configuration #
PUT /backends/google/sources/{source_uuid} Update a `google` source configuration #
DELETE /backends/google/sources/{source_uuid} Delete a `google` source configuration #
GET /backends/ldap/sources Get all `ldap` source configurations #
POST /backends/ldap/sources Configure a source for the `ldap` backend #
GET /backends/ldap/sources/{source_uuid} Get a `ldap` source configuration #
PUT /backends/ldap/sources/{source_uuid} Update a `ldap` source configuration #
DELETE /backends/ldap/sources/{source_uuid} Delete a `ldap` source configuration #
GET /backends/office365/sources Get microsoft configuration #
POST /backends/office365/sources Configure a source for the microsoft backend #
GET /backends/office365/sources/{source_uuid} Get a `microsoft` source configuration #
PUT /backends/office365/sources/{source_uuid} Update a `microsoft` source configuration #
DELETE /backends/office365/sources/{source_uuid} Delete a `microsoft` source configuration #
GET /backends/personal/sources Get all `personal` source configurations #
POST /backends/personal/sources Configure a source for the `personal` backend #
GET /backends/personal/sources/{source_uuid} Get a `personal` source configuration #
PUT /backends/personal/sources/{source_uuid} Update a `personal` source configuration #
DELETE /backends/personal/sources/{source_uuid} Delete a `personal` source configuration #
GET /backends/phonebook/sources Get all `phonebook` source configurations #
POST /backends/phonebook/sources Configure a source for the `phonebook` backend #
GET /backends/phonebook/sources/{source_uuid} Get a `phonebook` source configuration #
PUT /backends/phonebook/sources/{source_uuid} Update a `phonebook` source configuration #
DELETE /backends/phonebook/sources/{source_uuid} Delete a `phonebook` source configuration #
POST /profiles Create a new configuration profile #
GET /profiles List all configured profiles #
GET /profiles/{profile_uuid} Get a profile configuration #
PUT /profiles/{profile_uuid} Update a profile configuration #
DELETE /profiles/{profile_uuid} Delete a profile configuration #
GET /sources List all configured sources #
GET /backends/wazo/sources Get all `wazo` source configurations #
POST /backends/wazo/sources Configure a source for the `wazo` backend #
GET /backends/wazo/sources/{source_uuid} Get a `wazo` source configuration #
PUT /backends/wazo/sources/{source_uuid} Update a `wazo` source configuration #
DELETE /backends/wazo/sources/{source_uuid} Delete a `wazo` source configuration #

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-configuration-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-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wazo Configuration API
  contact:
    name: Wazo Dev Team
    url: https://wazo-platform.org/
    email: dev@wazo.community
  license:
    name: GPL v3
    url: http://www.gnu.org/licenses/gpl.txt
  x-logo:
    url: https://wazo-platform.org/images/logo-black.svg
    backgroundColor: '#FAFAFA'
    altText: Wazo Logo
  version: '1.0'
  description: 'Operations tagged configuration across 2 of this provider''s published API definitions: wazo-confd-api-openapi.yml, wazo-dird-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /1.1
- url: /0.1
security:
- wazo_auth_token: []
tags:
- name: configuration
paths:
  /configuration/live_reload:
    get:
      operationId: get_configuration
      summary: Get live reload status
      description: '**Required ACL:** `confd.configuration.live_reload.read`'
      tags:
      - configuration
      responses:
        '200':
          description: Live reload status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveReload'
    put:
      operationId: update_configuration
      summary: Update live reload status
      description: '**Required ACL:** `confd.configuration.live_reload.update`'
      tags:
      - configuration
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveReload'
        required: true
    servers:
    - url: /1.1
  /backends:
    get:
      operationId: list_backend
      summary: List all loaded backends
      tags:
      - configuration
      description: '**Required ACL:** `dird.backends.read`'
      parameters:
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: A list of all active backends
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendItems'
    servers:
    - url: /0.1
  /backends/conference/sources:
    get:
      operationId: list_conference_sources
      summary: Get all `conference` source configurations
      description: '**Required ACL:** `dird.backends.conference.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: A list of configured `conference` sources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceSourceItems'
    post:
      operationId: create_conference_source
      summary: Configure a source for the `conference` backend
      description: '**Required ACL:** `dird.backends.conference.sources.create`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceSource'
              example:
                name: conferences
                searched_columns:
                - number
                - name
                format_columns:
                  displayname: '{name}'
                auth:
                  key_file: /usr/share/wazo-dird/my-auth-key.yml
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConferenceSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/conference/sources/{source_uuid}:
    get:
      operationId: get_a_conference_source
      summary: Get a `conference` source configuration
      description: '**Required ACL:** `dird.backends.conference.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `conference` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_conference_source
      summary: Update a `conference` source configuration
      description: '**Required ACL:** `dird.backends.conference.sources.{source_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConferenceSource'
        description: The source configuration body
        required: true
    delete:
      operationId: delete_conference_source
      summary: Delete a `conference` source configuration
      description: '**Required ACL:** `dird.backends.conference.sources.{source_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /services:
    get:
      operationId: list_services
      summary: List all loaded services
      description: '**Required ACL:** `dird.services.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/direction'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: A list of configured services
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceItems'
    servers:
    - url: /0.1
  /backends/csv/sources:
    get:
      operationId: list_csv_source
      summary: Get all `csv` source configurations
      description: '**Required ACL:** `dird.backends.csv.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: A list of configured `csv` sources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVSourceItems'
    post:
      operationId: create_csv_source
      summary: Configure a source for the `csv` backend
      description: '**Required ACL:** `dird.backends.csv.sources.create`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVSource'
              example:
                name: Internal
                searched_columns:
                - firstname
                - lastname
                format_columns:
                  displayname: '{firstname} {lastname}'
                file: /tmp/directory.csv
                separator: ':'
                unique_column: uuid
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CSVSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/csv/sources/{source_uuid}:
    get:
      operationId: get_a_csv_source
      summary: Get a `csv` source configuration
      description: '**Required ACL:** `dird.backends.csv.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `csv` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_csv_source
      summary: Update a `csv` source configuration
      description: '**Required ACL:** `dird.backends.csv.sources.{source_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CSVSource'
        description: The source configuration body
        required: true
    delete:
      operationId: delete_csv_source
      summary: Delete a `csv` source configuration
      description: '**Required ACL:** `dird.backends.csv.sources.{source_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /backends/csv_ws/sources:
    get:
      operationId: list_csv_ws_source
      summary: Get all `csv_ws` source configurations
      description: '**Required ACL:** `dird.backends.csv_ws.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: A list of configured `csv_ws` sources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVWSSourceItems'
    post:
      operationId: create_csv_ws_source
      summary: Configure a source for the `csv_ws` backend
      description: '**Required ACL:** `dird.backends.csv_ws.sources.create`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVWSSource'
              example:
                name: ws
                searched_columns:
                - firstname
                - lastname
                format_columns:
                  displayname: '{firstname} {lastname}'
                lookup_url: https://my-service/search
                list_url: https://my-service/all
                verify_certificate: false
                delimiter: ':'
                unique_column: uuid
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CSVWSSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/csv_ws/sources/{source_uuid}:
    get:
      operationId: get_a_csv_ws_source
      summary: Get a `csv_ws` source configuration
      description: '**Required ACL:** `dird.backends.csv_ws.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `csv_ws` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVWSSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_csv_ws_source
      summary: Update a `csv_ws` source configuration
      description: '**Required ACL:** `dird.backends.csv_ws.sources.{source_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CSVWSSource'
        description: The source configuration body
        required: true
    delete:
      operationId: delete_csv_ws_source
      summary: Delete a `csv_ws` source configuration
      description: '**Required ACL:** `dird.backends.csv_ws.sources.{source_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /displays:
    get:
      operationId: list_display
      summary: List displays
      description: '**Required ACL:** `dird.displays.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: A list of configured displays
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisplayItems'
    post:
      summary: Create a new display configuration
      description: '**Required ACL:** `dird.displays.create`'
      operationId: create_display
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created display
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Display'
              example:
                name: english
                columns:
                - title: Firstname
                  field: firstname
                - title: Lastname
                  field: lastname
                  default: ''
                - title: Number
                  field: number
                  number_display: '{firstname} {lastname}'
                  type: number
                - title: Email
                  field: email
                  type: email
        '400':
          $ref: '#/components/responses/CreateError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Display'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /displays/{display_uuid}:
    get:
      operationId: get_display
      summary: Get display
      description: '**Required ACL:** `dird.displays.{display_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/displayuuid'
      responses:
        '200':
          description: Display
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Display'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_display
      summary: Update display
      description: '**Required ACL:** `dird.displays.{display_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/displayuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Display'
        description: The display configuration body
        required: true
    delete:
      operationId: delete_display
      summary: Delete display
      description: '**Required ACL:** `dird.displays.{display_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/displayuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /backends/google/sources:
    get:
      operationId: list_google_source
      summary: Get google configuration
      description: '**Required ACL:** `dird.backends.google.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: Configured google source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleSourceItems'
    post:
      operationId: create_google_source
      summary: Configure a source for the google backend
      description: '**Required ACL:** `dird.backends.google.sources.create`


        This resource configures a Google source for wazo-dird. Columns that are available from this source

        are:


        * name: the contact name

        * numbers: a list of phone numbers

        * numbers_by_label: a map of type to numbers {''mobile'': <number>, ''home'': <number>, ...}. Types are defined by Google, currently known types include: ''home'', ''work'', ''mobile'', ''other'', ''main'', ''home_fax'', ''work_fax'', ''google_voice'', ''pager''.

        * numbers_except_label: a map from type to every other number {''mobile'': [<number>, <number], ''home'': [<number>, <number>], ...}. See available types above. For example, the ''mobile'' key will contain the ''work'' and ''home'' numbers, but will exclude the ''mobile'' number.

        * emails: a list of email addresses

        '
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created display
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleSource'
              example:
                auth:
                  host: localhost
                  port: 80
                  prefix: /api/auth
                  https: false
                  version: 0.1
                format_columns:
                  phone: '{numbers[0]}'
                  phone_mobile: '{numbers_by_label[mobile]}'
                  reverse: '{name}'
                  email: '{emails[0]}'
                name: google
                first_matched_columns:
                - numbers
                searched_columns:
                - numbers
                - emails
                - name
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Source already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/google/sources/{source_uuid}:
    get:
      operationId: get_a_google_source
      summary: Get a `google` source configuration
      description: '**Required ACL:** `dird.backends.google.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `google` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_google_source
      summary: Update a `google` source configuration
      description: '**Required ACL:** `dird.backends.google.sources.{source_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleSource'
        description: The source configuration body
        required: true
    delete:
      operationId: delete_google_source
      summary: Delete a `google` source configuration
      description: '**Required ACL:** `dird.backends.google.sources.{source_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /backends/ldap/sources:
    get:
      operationId: list_ldap_source
      summary: Get all `ldap` source configurations
      description: '**Required ACL:** `dird.backends.ldap.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: A list of configured `ldap` sources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LDAPSourceItems'
    post:
      operationId: create_ldap_source
      summary: Configure a source for the `ldap` backend
      description: '**Required ACL:** `dird.backends.ldap.sources.create`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created display
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LDAPSource'
              example:
                name: ldap
                searched_columns:
                - firstname
                - lastname
                format_columns:
                  firstname: '{givenName}'
                  lastname: '{sn}'
                  displayname: '{displayName}'
                  exten: '{telephoneNumber}'
                ldap_uri: ldap://example.com
                ldap_base_dn: ou=people,dc=example,dc=com
                ldap_custom_filter: (l=québec)
                ldap_username: cn=admin,dc=example,dc=org
                ldap_password: foobar
                unique_column: objectGUID
                unique_column_format: binary_uuid
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LDAPSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/ldap/sources/{source_uuid}:
    get:
      operationId: get_a_ldap_source
      summary: Get a `ldap` source configuration
      description: '**Required ACL:** `dird.backends.ldap.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `ldap` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LDAPSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_ldap_source
      summary: Update a `ldap` source configuration
      description: '**Required ACL:** `dird.backends.ldap.sources.{source_uuid}.update`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceUpdated'
        '400':
          $ref: '#/components/responses/UpdateError_2'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Duplicate Source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LDAPSource'
        description: The source configuration body
        required: true
    delete:
      operationId: delete_ldap_source
      summary: Delete a `ldap` source configuration
      description: '**Required ACL:** `dird.backends.ldap.sources.{source_uuid}.delete`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '204':
          $ref: '#/components/responses/ResourceDeleted'
        '404':
          $ref: '#/components/responses/NotFoundError'
    servers:
    - url: /0.1
  /backends/office365/sources:
    get:
      operationId: list_microsoft_source
      summary: Get microsoft configuration
      description: '**Required ACL:** `dird.backends.microsoft.sources.read`'
      tags:
      - configuration
      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'
      responses:
        '200':
          description: Configured microsoft source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MicrosoftSourceItems'
    post:
      operationId: create_microsoft_source
      summary: Configure a source for the microsoft backend
      description: '**Required ACL:** `dird.backends.microsoft.sources.create`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      responses:
        '201':
          description: The created display
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MicrosoftSource'
              example:
                format_columns:
                  name: '{givenName} {surname}'
                  phone_mobile: '{mobilePhone}'
                  number: '{numbers[0]}'
                  reverse: '{givenName} {surname}'
                  email: '{email}'
                name: office365
                searched_columns:
                - displayName
                - mobilePhone
                - homePhones
                - mobilePhone
                first_matched_columns:
                - businessPhones
                - mobilePhone
                - homePhones
        '400':
          $ref: '#/components/responses/CreateError'
        '409':
          description: Source already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MicrosoftSource'
        description: The display configuration body
        required: true
    servers:
    - url: /0.1
  /backends/office365/sources/{source_uuid}:
    get:
      operationId: get_a_microsoft_source
      summary: Get a `microsoft` source configuration
      description: '**Required ACL:** `dird.backends.microsoft.sources.{source_uuid}.read`'
      tags:
      - configuration
      parameters:
      - $ref: '#/components/parameters/tenantuuid'
      - $ref: '#/components/parameters/sourceuuid'
      responses:
        '200':
          description: The `microsoft` source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MicrosoftSource'
        '404':
          $ref: '#/components/responses/NotFoundError'
    put:
      operationId: update_microsoft_source
      summary: Update a `microsoft` source configuration
      description: '**Required ACL:** `dird.backends.microsoft.so

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