openapi: 3.2.0 info: title: wazo-confd Guests 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: guests paths: /guests/me/meetings/{meeting_uuid}: get: operationId: get_guest_meeting summary: Get one guest meeting description: '**Required ACL:** none' tags: - guests parameters: - $ref: '#/components/parameters/meeting_uuid' responses: '200': description: Meetings list content: application/json: schema: $ref: '#/components/schemas/Meeting' /guests/{guest_uuid}/meetings/{meeting_uuid}/authorizations: post: operationId: create_guest_meeting_authorization summary: Request guest authorization to enter a meeting description: '**Required ACL:** none. A single meeting only accepts a maximum amount of 128 authorizations. Authorizations are valid for 24h.' tags: - guests parameters: - $ref: '#/components/parameters/guest_uuid' - $ref: '#/components/parameters/meeting_uuid' responses: '201': description: Authorization created content: application/json: schema: $ref: '#/components/schemas/MeetingAuthorization' '400': $ref: '#/components/responses/CreateError' '404': $ref: '#/components/responses/NotFoundError' requestBody: content: application/json: schema: $ref: '#/components/schemas/MeetingAuthorizationRequest' description: Details to request authorization required: true /guests/{guest_uuid}/meetings/{meeting_uuid}/authorizations/{authorization_uuid}: get: operationId: get_guest_meeting_authorization summary: Read the guest authorization to enter a meeting description: '**Required ACL:** none' tags: - guests parameters: - $ref: '#/components/parameters/guest_uuid' - $ref: '#/components/parameters/meeting_uuid' - $ref: '#/components/parameters/authorization_uuid' responses: '200': description: Authorization details content: application/json: schema: $ref: '#/components/schemas/MeetingAuthorization' '400': $ref: '#/components/responses/CreateError' '404': $ref: '#/components/responses/NotFoundError' /users/me/meetings/{meeting_uuid}/authorizations/{authorization_uuid}: get: operationId: get_user_meeting_authorization summary: Read the guest authorization to enter a meeting description: '**Required ACL:** confd.users.me.meetings.{meeting_uuid}.authorizations.{authorization_uuid}.read' tags: - guests parameters: - $ref: '#/components/parameters/guest_uuid' - $ref: '#/components/parameters/meeting_uuid' - $ref: '#/components/parameters/authorization_uuid' responses: '200': description: Authorization details content: application/json: schema: $ref: '#/components/schemas/MeetingAuthorization' '400': $ref: '#/components/responses/CreateError' '404': $ref: '#/components/responses/NotFoundError' delete: operationId: delete_user_meeting_authorization summary: Delete the guest authorization to enter a meeting description: '**Required ACL:** confd.users.me.meetings.{meeting_uuid}.authorizations.{authorization_uuid}.read' tags: - guests parameters: - $ref: '#/components/parameters/guest_uuid' - $ref: '#/components/parameters/meeting_uuid' - $ref: '#/components/parameters/authorization_uuid' responses: '204': $ref: '#/components/responses/ResourceDeleted' '400': $ref: '#/components/responses/DeleteError' '404': $ref: '#/components/responses/NotFoundError' components: schemas: MeetingAuthorization: type: object properties: uuid: type: string format: uuid guest_name: type: string creation_time: type: string format: date-time status: type: string description: The status of the authorization. If the meeting does not require an authorization, the authorization will always be `accepted`. enum: - pending - accepted - rejected sip_authorization: type: string MeetingAuthorizationRequest: type: object properties: guest_name: type: string Meeting: type: object properties: uuid: type: string owner_uuids: type: array items: type: string name: type: string ingress_http_uri: type: string description: URI to reach this stack (configured by the Ingress HTTP resource) guest_sip_authorization: type: string readOnly: true description: 'Format: base64(username:password), same as HTTP Basic Auth.' persistent: type: boolean description: Persistent meetings will not get deleted automatically creation_time: type: string format: date-time readOnly: true exten: type: string description: the external extension to dial to reach this meeting readOnly: true require_authorization: type: boolean description: when `true`, the `guest_sip_authorization` is always `null`. Instead, clients must request an authorization to access the meeting. 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' ResourceDeleted: description: Resource was deleted successfully DeleteError: description: An error occurred when deleting the resource content: application/json: schema: $ref: '#/components/schemas/Error' CreateError: description: An error occurred when creating the resource content: application/json: schema: $ref: '#/components/schemas/Error' parameters: authorization_uuid: required: true name: authorization_uuid in: path description: Authorization UUID schema: type: string guest_uuid: required: true name: guest_uuid in: path description: Guest UUID. It must be generated by the guest. schema: type: string meeting_uuid: required: true name: meeting_uuid in: path description: Meeting UUID schema: type: string 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'