openapi: 3.2.0 info: title: wazo-confd Meeting Authorizations 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: meeting_authorizations paths: /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: - meeting_authorizations 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: - meeting_authorizations 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' /user/me/meetings/{meeting_uuid}/authorizations: get: operationId: list_user_meeting_authorizations summary: List all guest authorization requests of a meeting description: '**Required ACL:** confd.users.me.meetings.{meeting_uuid}.authorizations.read' tags: - meeting_authorizations parameters: - $ref: '#/components/parameters/meeting_uuid' responses: '200': description: Authorizations list content: application/json: schema: $ref: '#/components/schemas/MeetingAuthorizationItems' '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: - meeting_authorizations 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: - meeting_authorizations 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' /user/me/meetings/{meeting_uuid}/authorizations/{authorization_uuid}/accept: put: operationId: put_user_meeting_authorization_accept summary: Accept a guest authorization request description: '**Required ACL:** confd.users.me.meetings.{meeting_uuid}.authorizations.{authorization_uuid}.accept.update' tags: - meeting_authorizations parameters: - $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' /user/me/meetings/{meeting_uuid}/authorizations/{authorization_uuid}/reject: put: operationId: put_user_meeting_authorization_reject summary: Reject a guest authorization request description: '**Required ACL:** confd.users.me.meetings.{meeting_uuid}.authorizations.{authorization_uuid}.reject.update' tags: - meeting_authorizations parameters: - $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' 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 MeetingAuthorizationItems: type: object properties: items: type: array items: $ref: '#/components/schemas/MeetingAuthorization' 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' 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'