openapi: 3.2.0 info: title: wazo-provd Configs API description: Provisioning application REST API version: '0.2' 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: /api/provd/0.2 security: - wazo_auth_token: [] tags: - name: configs paths: /cfg_mgr: get: summary: Get the Config Manager resource description: '**Required ACL:** `provd.cfg_mgr.read` The configuration manager resource represents the entry point to the wazo-provd configuration REST API ' tags: - configs responses: '200': description: Links to the different configuration resources content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/LinksObject' /cfg_mgr/configs: get: summary: List and find configurations description: '**Required ACL:** `provd.cfg_mgr.configs.read`' tags: - configs parameters: - $ref: '#/components/parameters/SearchQuery' - $ref: '#/components/parameters/SearchFields' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/SortEntries' - $ref: '#/components/parameters/SortOrder' responses: '200': $ref: '#/components/responses/ConfigsResponse' post: summary: Create a configuration description: '**Required ACL:** `provd.cfg_mgr.configs.create`' tags: - configs parameters: - $ref: '#/components/parameters/ConfigParam' responses: '201': $ref: '#/components/responses/ConfigCreationResponse' /cfg_mgr/configs/{config_id}: get: summary: Get a configuration description: '**Required ACL:** `provd.cfg_mgr.configs.{config_id}.read`' tags: - configs parameters: - $ref: '#/components/parameters/ConfigId' responses: '200': $ref: '#/components/responses/ConfigUniqueResponse' '404': $ref: '#/components/responses/NoSuchResourceError' put: summary: Update a configuration description: '**Required ACL:** `provd.cfg_mgr.configs.{config_id}.update`' tags: - configs parameters: - $ref: '#/components/parameters/ConfigId' - $ref: '#/components/parameters/ConfigParam' responses: '204': $ref: '#/components/responses/NoContentResponse' '404': $ref: '#/components/responses/NoSuchResourceError' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete a configuration description: '**Required ACL:** `provd.cfg_mgr.configs.{config_id}.delete`' tags: - configs parameters: - $ref: '#/components/parameters/ConfigId' responses: '204': $ref: '#/components/responses/NoContentResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NoSuchResourceError' /cfg_mgr/configs/{config_id}/raw: get: summary: Get a raw configuration description: '**Required ACL:** `provd.cfg_mgr.configs.{config_id}.raw.read`' tags: - configs parameters: - $ref: '#/components/parameters/ConfigId' responses: '200': description: A raw configuration response content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/RawConfigurationObject' '404': $ref: '#/components/responses/NoSuchResourceError' /cfg_mgr/autocreate: post: summary: Create an autocreate configuration description: '**Required ACL:** `provd.cfg_mgr.autocreate.create` Create a new config based on the config that has the autocreate role ' tags: - configs parameters: - $ref: '#/components/parameters/EmptyBody' responses: '201': $ref: '#/components/responses/ConfigCreationResponse' components: responses: ConfigCreationResponse: description: Configuration created. If the ``id`` field was not given, then the ID was automatically generated by the server. headers: Location: description: Location of the newly created configuration. schema: type: string content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/IdObject' ForbiddenResponse: description: The operation is not permitted for this resource. content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/ErrorMessage' ConfigUniqueResponse: description: A complete configuration response content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/ConfigObject' ConfigsResponse: description: List of configurations content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/ConfigsObject' InternalServerError: description: Internal Server Error. The IP or MAC address may be malformed content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/ErrorMessage' NoSuchResourceError: description: No such resource. The provided id does not exist content: application/vnd.proformatique.provd+json: schema: $ref: '#/components/schemas/ErrorMessage' NoContentResponse: description: No content parameters: SortEntries: name: sort in: query description: 'The key on which to sort the results. Example: `id` ' required: false schema: type: string SortOrder: name: sort_ord in: query description: The order of sort required: false schema: type: string enum: - ASC - DESC SearchQuery: name: q in: query description: 'A selector, encoded in JSON, describing which entries should be returned. All entries are returned if not specified. Example: `{"ip":"10.34.1.110"}` ' required: false schema: type: string SearchFields: name: fields in: query description: 'A list of fields, separated by comma. Example: `mac,ip` ' required: false schema: type: string ConfigId: required: true name: config_id in: path description: Configuration ID schema: type: string EmptyBody: description: Empty object body name: body in: body schema: $ref: '#/components/schemas/EmptyObject' Skip: name: skip in: query description: 'An integer specifing the number of entries to skip. Example: 10 ' required: false schema: type: integer ConfigParam: description: Body of a configuration parameter name: body in: body schema: $ref: '#/components/schemas/ConfigObject' schemas: IdObject: properties: id: type: string example: id: abcdef1234567890 ConfigObject: description: A configuration object properties: config: $ref: '#/components/schemas/Config' ErrorMessage: description: Error message response type: string LinksObject: description: Links object type: object properties: links: type: array description: Links to different resources items: $ref: '#/components/schemas/LinkObject' EmptyObject: description: Empty body properties: {} ConfigsObject: properties: configs: type: array items: $ref: '#/components/schemas/Config' LinkObject: description: Link Object type: object properties: href: type: string description: Location of the resource rel: type: string description: Relation to the resource RawConfigurationObject: properties: raw_config: type: object example: raw_config: sip_lines: 1: auth_username: '100' display_name: Foo password: '100' username: '100' Config: description: A complete configuration properties: id: type: string description: The unique configuration id deletable: type: boolean parent_ids: type: array items: type: string description: ID of a parent of the configuration raw_config: $ref: '#/components/schemas/RawConfigurationObject' example: id: abcdef123456890 deletable: true parent_ids: - base raw_config: sip_lines: 1: auth_username: '100' display_name: Foo password: '100' username: '100' securitySchemes: wazo_auth_token: type: apiKey name: X-Auth-Token in: header x-xivo-name: provd x-xivo-port: 8666 x-apievangelist-source: harvested_from: https://github.com/wazo-platform/wazo-provd assembly: base plugin api.yml deep-merged with all plugin api.yml fragments, reproducing what the running service serves at /api/provd/0.2/api/api.yml (see wazo_provd/plugins/api/http.py — xivo.chain_map.ChainMap) spec_version: Swagger 2.0 (as published by Wazo) harvested: '2026-08-17'