openapi: 3.2.0 info: title: wazo-confd Registrars 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: registrars paths: /registrars: get: operationId: get_registrars summary: Get registrars description: '**Required ACL:** `confd.registrars.read`' tags: - registrars parameters: - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/direction' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Registrar list content: application/json: schema: $ref: '#/components/schemas/RegistrarItems' post: operationId: create_registrar summary: Create registrar description: '**Required ACL:** `confd.registrars.create`' tags: - registrars responses: '201': description: Registrar created content: application/json: schema: $ref: '#/components/schemas/Registrar' '400': $ref: '#/components/responses/CreateError' requestBody: content: application/json: schema: $ref: '#/components/schemas/Registrar' description: Registrar to create required: true /registrars/{registrar_id}: get: operationId: get_registrar summary: Get registrar description: '**Required ACL:** `confd.registrars.{registrar_id}.read`' tags: - registrars parameters: - $ref: '#/components/parameters/registrar_id' responses: '200': description: Registrar content: application/json: schema: $ref: '#/components/schemas/Registrar' '404': $ref: '#/components/responses/NotFoundError' put: operationId: update_registrar summary: Update registrar description: '**Required ACL:** `confd.registrars.{registrar_id}.update`' tags: - registrars parameters: - $ref: '#/components/parameters/registrar_id' responses: '204': $ref: '#/components/responses/ResourceUpdated' '400': $ref: '#/components/responses/UpdateError' requestBody: content: application/json: schema: $ref: '#/components/schemas/Registrar' description: Registrar body required: true delete: operationId: delete_registrar summary: Delete registrar description: '**Required ACL:** `confd.registrars.{registrar_id}.delete`' tags: - registrars parameters: - $ref: '#/components/parameters/registrar_id' responses: '204': $ref: '#/components/responses/ResourceDeleted' '400': $ref: '#/components/responses/DeleteError' '404': $ref: '#/components/responses/NotFoundError' components: parameters: search: required: false name: search in: query description: Search term for filtering a list of items. Only items with a field containing the search term will be returned. schema: type: string registrar_id: required: true name: registrar_id in: path description: Registrar ID schema: type: string direction: required: false name: direction in: query description: Sort list of items in 'asc' (ascending) or 'desc' (descending) order schema: type: string enum: - asc - desc offset: required: false name: offset in: query description: Number of items to skip over in the list. Useful for pagination. schema: type: integer limit: required: false name: limit in: query description: Maximum number of items to return in the list schema: type: integer order: required: false name: order in: query description: Name of the field to use for sorting the list of items returned. schema: type: string schemas: Registrar: title: Registrar properties: id: type: string description: Registrar identifier deletable: type: boolean description: Define if the registrar can be deleted name: type: string description: Display name of the registrar main_host: type: string description: Registrar host main_port: type: integer description: Registrar port backup_host: type: string description: Backup registrar host backup_port: type: integer description: Backup registrar port proxy_main_host: type: string description: 'Proxy host. Using IPv4 is recommended to have a better integration with some provisioning plugins. (ex: Yealink DND integration)' proxy_main_port: type: integer description: Proxy port proxy_backup_host: type: string description: Backup proxy host proxy_backup_port: type: integer description: Backup proxy port outbound_proxy_host: type: string description: Outbound proxy host outbound_proxy_port: type: integer description: Outbound proxy port required: - main_host - proxy_main_host RegistrarItems: title: RegistrarItems properties: items: items: $ref: '#/components/schemas/Registrar' type: array total: type: integer Error: type: array items: type: string responses: NotFoundError: description: The resource requested was not found on the server content: application/json: schema: $ref: '#/components/schemas/Error' UpdateError: description: An error occurred when updating the resource content: application/json: schema: $ref: '#/components/schemas/Error' ResourceDeleted: description: Resource was deleted successfully DeleteError: description: An error occurred when deleting the resource content: application/json: schema: $ref: '#/components/schemas/Error' ResourceUpdated: description: Resource was updated successfully CreateError: description: An error occurred when creating the resource content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: wazo_auth_token: type: apiKey name: X-Auth-Token in: header x-xivo-port: 9486 x-xivo-name: confd x-apievangelist-source: harvested_from: https://github.com/wazo-platform/wazo-confd assembly: base plugin api.yml deep-merged with all plugin api.yml fragments, reproducing what the running service serves at /api/confd/1.1/api/api.yml (see wazo_confd/plugins/api/http.py — xivo.chain_map.ChainMap) spec_version: Swagger 2.0 (as published by Wazo) harvested: '2026-08-17'