OpenAPI Spec
Check out the Swagger UI for our OpenAPI spec. *coming soon!*
Download the Raw JSON File for our OpenAPI spec.
OpenAPI - Raw JSON
{ "openapi": "3.0.1", "info": { "title": "Pexip API Gateway", "description": "API Gateway for the Pexip platform", "version": "1.0.0" }, "servers": [ { "url": "http://localhost:7071" } ], "paths": { "/public/room/{room_name}": { "get": { "tags": ["Public"], "summary": "Get Room", "operationId": "get_room_public_room__room_name__get", "parameters": [ { "name": "room_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The name of the virtual meeting room to get details of.", "title": "Room Name" }, "description": "The name of the virtual meeting room to get details of.", "example": "MTIzNDU2LDc2NTQzMg" }, { "name": "constrained_attributes", "in": "query", "required": false, "schema": { "type": "boolean", "default": true, "title": "Constrained Attributes" } }, { "name": "x-auth-token", "in": "header", "required": false, "schema": { "type": "string", "title": "X-Auth-Token" } } ], "responses": { "200": { "description": "The details of a specific Virtual Meeting Room.", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ConstrainedConference" }, { "$ref": "#/components/schemas/Conference" } ], "title": "Response Get Room Public Room Room Name Get" }, "example": { "id": 90, "name": "MTIzNDU2LDc2NTQzMg", "service_type": "conference", "allow_guests": true, "pin": "4766", "guest_pin": "1231", "tag": "https://id.gov.bc.ca/idcheck/MTIzNDU2LDc2NTQzMg", "aliases": [ { "id": 85, "alias": "MTIzNDU2LDc2NTQzMg", "conference": "/api/admin/configuration/v1/conference/90/", "creation_time": "2024-03-05T14:31:06.145782", "description": "" } ] } } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/public/event_sink": { "post": { "tags": ["Public"], "summary": "Event sink for Pexip events.", "operationId": "event_sink_public_event_sink_post", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "title": "Event" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "204": { "description": "The event was processed successfully, no content is returned." }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBasic": [] } ] } }, "/public/health": { "get": { "tags": ["Public"], "summary": "Health Check", "description": "Check the health status of the application.", "operationId": "health_check_public_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "404": { "description": "Not found" } } } }, "/room/create/old": { "post": { "tags": ["Room Operations"], "summary": "Create a new virtual meeting room with the given UUID.", "operationId": "create_room_room_create_old_post", "parameters": [ { "name": "uuiData", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The UUI data to be used to create the virtual meeting room.", "title": "Uuidata" }, "description": "The UUI data to be used to create the virtual meeting room.", "example": "6964264d54497a4e4455324c4463324e54517a4d67;encoding=hex" } ], "responses": { "200": { "description": "The virtual meeting room was created successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConstrainedConference" }, "example": { "id": "90", "name": "MTIzNDU2LDc2NTQzMg", "service_type": "conference", "allow_guests": true, "guest_pin": "4766", "tag": "https://id.gov.bc.ca/idcheck/MTIzNDU2LDc2NTQzMg", "aliases": [ { "alias": "MTIzNDU2LDc2NTQzMg" } ] } } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/room/create": { "post": { "tags": ["Room Operations"], "summary": "Create a new virtual meeting room with the given UUID.", "operationId": "create_room_from_queue_room_create_post", "parameters": [ { "name": "uuiData", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The UUI data to be used to create the virtual meeting room.", "title": "Uuidata" }, "description": "The UUI data to be used to create the virtual meeting room.", "example": "6964264d54497a4e4455324c4463324e54517a4d67;encoding=hex" } ], "responses": { "200": { "description": "The virtual meeting room was created successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConstrainedConference" }, "example": { "id": "90", "name": "MTIzNDU2LDc2NTQzMg", "service_type": "conference", "allow_guests": true, "guest_pin": "4766", "tag": "https://id.gov.bc.ca/idcheck/MTIzNDU2LDc2NTQzMg", "aliases": [ { "alias": "MTIzNDU2LDc2NTQzMg" } ] } } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/room/list": { "get": { "tags": ["Room Operations"], "summary": "List all virtual meeting rooms.", "operationId": "list_rooms_room_list_get", "parameters": [ { "name": "constrained_attributes", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If True, only return rooms with constrained attributes.", "default": true, "title": "Constrained Attributes" }, "description": "If True, only return rooms with constrained attributes." } ], "responses": { "200": { "description": "A list of all Virtual Meeting Rooms", "content": { "application/json": { "schema": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/ConstrainedConference" }, { "$ref": "#/components/schemas/Conference" } ] }, "title": "Response List Rooms Room List Get" }, "example": [ { "id": 89, "name": "1e9e9d42da244be6822a2edcbc2ff919", "service_type": "conference", "allow_guests": true, "pin": "5076", "tag": "https://maximuscanada.ca/", "aliases": [ { "id": 84, "alias": "1e9e9d42da244be6822a2edcbc2ff919", "conference": "/api/admin/configuration/v1/conference/89/", "creation_time": "2024-03-05T13:55:52.064177", "description": "" } ] }, { "id": 90, "name": "MTIzNDU2LDc2NTQzMg", "service_type": "conference", "allow_guests": true, "pin": "4766", "tag": "https://id.gov.bc.ca/idcheck/MTIzNDU2LDc2NTQzMg", "aliases": [ { "id": 85, "alias": "MTIzNDU2LDc2NTQzMg", "conference": "/api/admin/configuration/v1/conference/90/", "creation_time": "2024-03-05T14:31:06.145782", "description": "" } ] }, { "id": 1, "name": "Test Call Service", "service_type": "test_call", "allow_guests": false, "pin": "", "tag": "", "aliases": [ { "id": 1, "alias": "test_call", "conference": "/api/admin/configuration/v1/conference/1/", "creation_time": "2023-12-05T11:49:05.312827", "description": "Default alias to access the Test Call Service" } ] } ] } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/room/{room_name}": { "get": { "tags": ["Room Operations"], "summary": "Get details of a specific virtual meeting room.", "operationId": "get_room_room__room_name__get", "parameters": [ { "name": "room_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The name of the virtual meeting room to get details of.", "title": "Room Name" }, "description": "The name of the virtual meeting room to get details of.", "example": "MTIzNDU2LDc2NTQzMg" }, { "name": "constrained_attributes", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If True, only return rooms with constrained attributes.", "default": true, "title": "Constrained Attributes" }, "description": "If True, only return rooms with constrained attributes." } ], "responses": { "200": { "description": "The details of a specific Virtual Meeting Room.", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ConstrainedConference" }, { "$ref": "#/components/schemas/Conference" } ], "title": "Response Get Room Room Room Name Get" }, "example": { "id": 90, "name": "MTIzNDU2LDc2NTQzMg", "service_type": "conference", "allow_guests": true, "pin": "4766", "guest_pin": "1231", "tag": "https://id.gov.bc.ca/idcheck/MTIzNDU2LDc2NTQzMg", "aliases": [ { "id": 85, "alias": "MTIzNDU2LDc2NTQzMg", "conference": "/api/admin/configuration/v1/conference/90/", "creation_time": "2024-03-05T14:31:06.145782", "description": "" } ] } } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": ["Room Operations"], "summary": "Update a specific virtual meeting room.", "operationId": "update_room_room__room_name__patch", "parameters": [ { "name": "room_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The name of the virtual meeting room to update.", "title": "Room Name" }, "description": "The name of the virtual meeting room to update.", "example": "MTIzNDU2LDc6NTQzMg" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Conference" } ], "description": "The new data for the room.", "title": "Conference" } } } }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": ["Room Operations"], "summary": "Delete a specific virtual meeting room.", "operationId": "delete_room_room__room_name__delete", "parameters": [ { "name": "room_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The name of the virtual meeting room to delete.", "title": "Room Name" }, "description": "The name of the virtual meeting room to delete.", "example": "MTIzNDU2LDc2NTQzMg" } ], "responses": { "204": { "description": "The virtual meeting room was deleted successfully." }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/room/bulk/": { "delete": { "tags": ["Bulk Operations"], "summary": "Bulk delete virtual meeting rooms.", "operationId": "bulk_delete_rooms_room_bulk__delete", "responses": { "204": { "description": "The virtual meeting rooms were deleted successfully." }, "404": { "description": "Not found" } } }, "post": { "tags": ["Bulk Operations"], "summary": "Bulk create virtual meeting rooms.", "operationId": "bulk_create_rooms_room_bulk__post", "parameters": [ { "name": "max_vmr", "in": "query", "required": false, "schema": { "type": "integer", "description": "The maximum number of virtual meeting rooms to create.", "title": "Max Vmr" }, "description": "The maximum number of virtual meeting rooms to create.", "example": 3 } ], "responses": { "202": { "description": "The virtual meeting rooms were created successfully.", "content": { "application/json": { "schema": {} } } }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "Alias": { "properties": { "alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Alias" }, "creation_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Creation Time" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Id" } }, "type": "object", "title": "Alias" }, "Conference": { "properties": { "aliases": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Alias" }, "type": "array" }, { "type": "null" } ], "title": "Aliases" }, "allow_guests": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Allow Guests" }, "automatic_participants": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Automatic Participants" }, "breakout_rooms": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Breakout Rooms" }, "call_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Call Type" }, "creation_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Creation Time" }, "crypto_mode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Crypto Mode" }, "denoise_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Denoise Enabled" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "direct_media": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Direct Media" }, "direct_media_notification_duration": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Direct Media Notification Duration" }, "enable_active_speaker_indication": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enable Active Speaker Indication" }, "enable_chat": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Enable Chat" }, "enable_overlay_text": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enable Overlay Text" }, "force_presenter_into_main": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Force Presenter Into Main" }, "gms_access_token": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Gms Access Token" }, "guest_identity_provider_group": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Guest Identity Provider Group" }, "guest_pin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Guest Pin" }, "guest_view": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Guest View" }, "guests_can_present": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Guests Can Present" }, "host_identity_provider_group": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Host Identity Provider Group" }, "host_view": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host View" }, "id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Id" }, "ivr_theme": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Ivr Theme" }, "live_captions_enabled": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Live Captions Enabled" }, "match_string": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Match String" }, "max_callrate_in": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Callrate In" }, "max_callrate_out": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Callrate Out" }, "max_pixels_per_second": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Max Pixels Per Second" }, "media_playlist": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Media Playlist" }, "mssip_proxy": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Mssip Proxy" }, "mute_all_guests": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Mute All Guests" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "non_idp_participants": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Non Idp Participants" }, "on_completion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "On Completion" }, "participant_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Participant Limit" }, "pin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pin" }, "post_match_string": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Post Match String" }, "post_replace_string": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Post Replace String" }, "primary_owner_email_address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Primary Owner Email Address" }, "replace_string": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Replace String" }, "resource_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Resource Uri" }, "scheduled_conferences": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Scheduled Conferences" }, "scheduled_conferences_count": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Scheduled Conferences Count" }, "service_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Service Type" }, "softmute_enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Softmute Enabled" }, "sync_tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sync Tag" }, "system_location": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "System Location" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tag" }, "teams_proxy": { "anyOf": [ { "items": { "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Teams Proxy" }, "two_stage_dial_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Two Stage Dial Type" } }, "type": "object", "title": "Conference" }, "ConstrainedConference": { "properties": { "id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Id" }, "name": { "type": "string", "title": "Name" }, "service_type": { "type": "string", "title": "Service Type" }, "allow_guests": { "type": "boolean", "title": "Allow Guests" }, "pin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pin" }, "guest_pin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Guest Pin" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tag" }, "aliases": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Alias" }, "type": "array" }, { "type": "null" } ], "title": "Aliases" } }, "type": "object", "required": ["name", "service_type", "allow_guests"], "title": "ConstrainedConference" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError" } }, "securitySchemes": { "HTTPBasic": { "type": "http", "scheme": "basic" } } }}