Wazo Phone Provisioning API (wazo-provd)

Phone auto-provisioning service. Manages device plugins, configuration templates, device registrations, DHCP integration and the plugin repository used to provision desk phones and ATAs from vendors such as Aastra/Mitel, Cisco, Fanvil, Gigaset, Htek, Polycom, Snom and Yealink.

Operations 11

GET / Get the Provd Manager resource
GET /configure Get the general provd configuration
GET /configure/{param_id} Get the configuration parameter value
PUT /configure/{param_id} Set the value of a parameter
PUT /configure/plugin_server Update the configuration's plugin_server
PUT /configure/http_proxy Update the configuration's http_proxy
PUT /configure/https_proxy Update the configuration's https_proxy
PUT /configure/ftp_proxy Update the configuration's ftp_proxy
PUT /configure/locale Update the configuration's locale
PUT /configure/NAT Update the configuration's NAT
PUT /configure/provisioning_key Update the tenant provisioning key

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-phone-provisioning-api-wazo-provd"
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-provd-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: wazo Provd 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: provd
paths:
  /:
    get:
      summary: Get the Provd Manager resource
      description: '**Required ACL:** `provd.read`


        The provd manager resource represents the main entry point to the wazo-provd REST API

        '
      tags:
      - provd
      responses:
        '200':
          description: OK
          content:
            application/vnd.proformatique.provd+json:
              schema:
                $ref: '#/components/schemas/LinksObject'
  /configure:
    get:
      summary: Get the general provd configuration
      description: '**Required ACL:** `provd.configure.read`'
      tags:
      - provd
      responses:
        '200':
          description: OK
          content:
            application/vnd.proformatique.provd+json:
              schema:
                $ref: '#/components/schemas/GeneralConfigsObject'
  /configure/{param_id}:
    get:
      summary: Get the configuration parameter value
      description: '''**Required ACL:** `provd.configure.{param_id}.read`''


        Wazo-Tenant header is only valid for `provisioning_key`

        '
      tags:
      - provd
      parameters:
      - $ref: '#/components/parameters/ParamId'
      - $ref: '#/components/parameters/TenantUUID'
      responses:
        '200':
          description: OK
          content:
            application/vnd.proformatique.provd+json:
              schema:
                $ref: '#/components/schemas/Param'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
    put:
      summary: Set the value of a parameter
      description: '**Required ACL:** `provd.configure.{param_id}.update`'
      tags:
      - provd
      parameters:
      - $ref: '#/components/parameters/ParamId'
      - $ref: '#/components/parameters/ParamBody'
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
  /configure/plugin_server:
    put:
      summary: Update the configuration's plugin_server
      description: '**Required ACL:** `provd.configure.plugin_server.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/PluginServer'
        description: Configuration parameter body definition
  /configure/http_proxy:
    put:
      summary: Update the configuration's http_proxy
      description: '**Required ACL:** `provd.configure.http_proxy.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/HttpProxy'
        description: Configuration parameter body definition
  /configure/https_proxy:
    put:
      summary: Update the configuration's https_proxy
      description: '**Required ACL:** `provd.configure.https_proxy.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/HttpsProxy'
        description: Configuration parameter body definition
  /configure/ftp_proxy:
    put:
      summary: Update the configuration's ftp_proxy
      description: '**Required ACL:** `provd.configure.ftp_proxy.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/FtpProxy'
        description: Configuration parameter body definition
  /configure/locale:
    put:
      summary: Update the configuration's locale
      description: '**Required ACL:** `provd.configure.locale.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/Locale'
        description: Configuration parameter body definition
  /configure/NAT:
    put:
      summary: Update the configuration's NAT
      description: '**Required ACL:** `provd.configure.nat.update`'
      tags:
      - provd
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/Nat'
        description: Configuration parameter body definition
  /configure/provisioning_key:
    put:
      summary: Update the tenant provisioning key
      description: '**Required ACL:** `provd.configure.{tenant_uuid}.provisioning_key.update`'
      tags:
      - provd
      parameters:
      - $ref: '#/components/parameters/TenantUUID'
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NoSuchResourceError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaError'
      requestBody:
        content:
          application/vnd.proformatique.provd+json:
            schema:
              $ref: '#/components/schemas/ProvisioningKey'
        description: Configuration parameter body definition
components:
  schemas:
    Nat:
      title: NAT configuration
      properties:
        param:
          type: string
          description: Set to `1` if all the devices are behind a NAT
      example:
        param:
          value: '1'
    FtpProxy:
      title: FTP proxy configuration
      properties:
        param:
          type: string
          description: The proxy for FTP requests. Format is `http://[user:password@]host:port`
      example:
        param:
          value: http://root:secret@example.com:8082
    PluginServer:
      title: Plugin server configuration
      properties:
        param:
          type: string
          description: The plugins repository URL
      example:
        param:
          value: http://provd.wazo.community/plugins/2/stable/
    Locale:
      title: Locale configuration
      properties:
        param:
          type: string
          description: 'The current locale. For example: `en_US`'
      example:
        param:
          value: en_US
    Param:
      description: A configuration parameter
      properties:
        param:
          $ref: '#/components/schemas/ParamObject'
      example:
        param:
          value: http://provd.wazo.community/plugins/2/stable
    ParamObject:
      properties:
        value:
          type: string
    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'
    HttpsProxy:
      title: HTTPS proxy configuration
      properties:
        param:
          type: string
          description: The proxy for HTTPS requests. Format is `host:port`
      example:
        param:
          value: example.com:8081
    GeneralConfigsObject:
      properties:
        params:
          type: array
          items:
            $ref: '#/components/schemas/GeneralConfigObject'
    HttpProxy:
      title: HTTP proxy configuration
      properties:
        param:
          type: string
          description: The proxy for HTTP requests. Format is `http://[user:password@]host:port`
      example:
        param:
          value: http://root:secret@example.com:8080
    LinkObject:
      description: Link Object
      type: object
      properties:
        href:
          type: string
          description: Location of the resource
        rel:
          type: string
          description: Relation to the resource
    ProvisioningKey:
      description: Provisioning Key configuration
      properties:
        param:
          type: string
          description: Provisioning key used to authenticate request to fetch provisioning configuration file
      example:
        param:
          value: a1b2c3d4e5f6g7h8
    GeneralConfigObject:
      properties:
        description:
          type: string
        id:
          type: string
        links:
          $ref: '#/components/schemas/LinksObject'
        value:
          type: string
  parameters:
    TenantUUID:
      name: Wazo-Tenant
      in: header
      description: The tenant's UUID, defining the ownership of a given resource
      schema:
        type: string
    ParamId:
      required: true
      name: param_id
      in: path
      description: Configuration parameter ID
      schema:
        type: string
    ParamBody:
      description: Configuration parameter body definition
      name: body
      in: body
      schema:
        $ref: '#/components/schemas/Param'
  responses:
    UnsupportedMediaError:
      description: Unsupported media type. This error occurs if you forgot to include the Content-Type header
      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'
    BadRequestError:
      description: Bad request. The device ID, IP or MAC may be invalid
      content:
        application/vnd.proformatique.provd+json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    NoContentResponse:
      description: No content
  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'