Skip to content

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"
}
}
}
}