Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "swagger": "2.0",
- "info": {
- "version": "v1",
- "title": "Voice Api v1"
- },
- "host": "rgp-integration.simulprod.com",
- "schemes": [
- "https"
- ],
- "paths": {
- "/v1/calls/{channelId}/users": {
- "get": {
- "tags": [
- "Voice"
- ],
- "summary": "Returns a list of the ids for all users active/publishing in a call (except for the user making the request).",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "channelId",
- "in": "path",
- "description": "The unique channel Id of the call",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CallUsersListResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:ListCallActiveUsers"
- ]
- }
- }
- },
- "/v1/settings": {
- "get": {
- "tags": [
- "Voice"
- ],
- "summary": "Returns voice chat settings details for the requesting user.",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceSettingsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:GetVoiceSettings"
- ]
- }
- }
- },
- "/v1/settings/universe/{universeId}": {
- "get": {
- "tags": [
- "Voice"
- ],
- "summary": "Returns whether or not the universe/place is enabled for voice",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "universeId",
- "in": "path",
- "description": "The id of the universe to check if voice enabled",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "placeId",
- "in": "query",
- "description": "The optional id of the place to check if voice enabled",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceSettingsUniverseResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:GetUniversePlaceVoiceEnabledSettings"
- ]
- }
- }
- },
- "/v1/turn/auth": {
- "get": {
- "tags": [
- "Turn"
- ],
- "summary": "Returns turn server auth details for the requesting user.",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Platform.Voice.TurnServers.TurnServerAuth"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Turn:GetTurnServerAuth"
- ]
- }
- }
- },
- "/v1/calls/{channelId}/leave": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Leave a named voice channel",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "channelId",
- "in": "path",
- "description": "",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "deprecated": true,
- "properties": {
- "internal": true,
- "obsoleteMessage": "Please use /calls/leave",
- "metricIds": [
- "Voice:LeaveVoiceCall"
- ]
- }
- }
- },
- "/v1/calls/group/{groupId}/join": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Join voice call for an internal group Id",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "",
- "required": true,
- "type": "string"
- },
- {
- "name": "requestModel",
- "in": "body",
- "description": "{Roblox.Voice.Api.Models.VoiceBaseRequest}\r\n{Roblox.Voice.Api.Models.VoiceBaseRequest}",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceBaseRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "{Roblox.Voice.Api.Models.JoinVoiceChannelResponse}",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.JoinVoiceChannelResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "deprecated": true,
- "properties": {
- "internal": true,
- "obsoleteMessage": "Please use /calls/join",
- "metricIds": [
- "Voice:JoinVoiceGroupCall"
- ]
- }
- }
- },
- "/v1/calls/join": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Join voice call from group",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "{Roblox.Voice.Api.Models.JoinVoiceCallRequest}",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.JoinVoiceCallRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.JoinVoiceChannelResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:JoinVoiceCall"
- ]
- }
- }
- },
- "/v1/calls/leave": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Leave voice call for a channel",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceCallLifecycleRequestBase"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:LeaveVoiceCall"
- ]
- }
- }
- },
- "/v1/calls/publish/pause": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Pause publishing voice in an existing voice call",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceCallLifecycleRequestBase"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:PausePublishInCall"
- ]
- }
- }
- },
- "/v1/calls/publish/resume": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Resume publishing voice in an existing voice call",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceCallLifecycleRequestBase"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:ResumePublishInCall"
- ]
- }
- }
- },
- "/v1/calls/publish/start": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Start publishing voice in an existing voice call",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.PublishInCallRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:PublishInCall"
- ]
- }
- }
- },
- "/v1/calls/publish/trickle": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Trickles ICE candidates for a call's publishing peer connection\r\nhttps://webrtcglossary.com/trickle-ice/",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.TrickleIceRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:CallTrickleIce"
- ]
- }
- }
- },
- "/v1/calls/publish/trickle/end": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Finish the trickle ICE candidate process\r\nhttps://webrtcglossary.com/trickle-ice/",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.VoiceCallLifecycleRequestBase"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:FinishCallTrickleIce"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/cancel": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Cancel (and close) an user's subscription to a voice feed of another user",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseSubscriptionsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:CancelSubscriptions"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/complete": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Completes an user's subscription to a voice feed of another user",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CompleteSubscriptionsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseSubscriptionsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:CompleteSubscriptions"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/pause": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Pause an user's subscription to a voice feed of another user",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseSubscriptionsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:PauseSubscriptions"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/resume": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Resume an user's subscription to a voice feed of another user",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseSubscriptionsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:ResumeSubscriptions"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/start": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Initiates an user's subscription to a voice feed of another user",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseSubscriptionsResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:InitiateSubscriptions"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/trickle": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Trickles ICE candidates for a subscription's peer connection\r\nhttps://webrtcglossary.com/trickle-ice/",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionTrickleIceRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:SubscriptionTrickleIce"
- ]
- }
- }
- },
- "/v1/calls/subscriptions/trickle/end": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Finish the trickle ICE candidate process.\r\nhttps://webrtcglossary.com/trickle-ice/",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.SubscriptionTrickleIceRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:FinishSubscriptionTrickleIce"
- ]
- }
- }
- },
- "/v1/clientlog": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Log a debug message from the client.\r\nTHIS IS NOT A LONG TERM SOLUTION AND WILL BE REMOVED BEFORE GOING INTO PRODUCTION!",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.ClientLogRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "{Roblox.Voice.Api.Models.BaseStatusResponse}",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:ClientLog"
- ]
- }
- }
- },
- "/v1/groups": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Create voice group for internal use",
- "consumes": [],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [],
- "responses": {
- "200": {
- "description": "{Roblox.Voice.Api.Models.CreateGroupResponse}",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CreateGroupResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:CreateGroup"
- ]
- }
- }
- },
- "/v1/groups/bulk": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Create multiple voice groups for internal use",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BulkCreateGroupsRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "{Roblox.Voice.Api.Models.BaseStatusResponse}",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.BaseStatusResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:BulkCreateGroups"
- ]
- }
- }
- },
- "/v1/settings/user-opt-in": {
- "post": {
- "tags": [
- "Voice"
- ],
- "summary": "Update whether a user has opted into voice chat or not.",
- "consumes": [
- "application/json",
- "text/json",
- "application/x-www-form-urlencoded"
- ],
- "produces": [
- "application/json",
- "text/json"
- ],
- "parameters": [
- {
- "name": "requestModel",
- "in": "body",
- "description": "{Roblox.Voice.Api.Models.UpdateUsersVoiceChatPermissionRequest}",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.UpdateUsersVoiceChatPermissionRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.UpdateUsersVoiceChatPermissionResponse"
- }
- },
- "401": {
- "description": "0: Authorization has been denied for this request."
- },
- "403": {
- "description": "0: Token Validation Failed"
- }
- },
- "properties": {
- "internal": true,
- "metricIds": [
- "Voice:UpdateUserVoiceChatPermission"
- ]
- }
- }
- }
- },
- "definitions": {
- "Roblox.Platform.Voice.TurnServers.TurnServerAuth": {
- "type": "object",
- "properties": {
- "uris": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "username": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "ttl": {
- "format": "int32",
- "type": "integer"
- }
- }
- },
- "Roblox.Voice.Api.Models.VoiceSettingsResponse": {
- "description": "Response model for voice settings associated with the user",
- "type": "object",
- "properties": {
- "isVoiceEnabled": {
- "description": "Gets or sets a value indicating whether this user can use voice chat feature",
- "type": "boolean"
- },
- "isUserOptIn": {
- "description": "Gets or sets a value indicating whether this user has opt-in to voice chat",
- "type": "boolean"
- },
- "isUserEligible": {
- "description": "Gets or sets a value indicating whether this user is eligible for voice chat",
- "type": "boolean"
- }
- }
- },
- "Roblox.Voice.Api.Models.VoiceSettingsUniverseResponse": {
- "description": "Response model for voice settings associated with a universe/place",
- "type": "object",
- "properties": {
- "isUniverseEnabledForVoice": {
- "description": "Whether or not the universe is enabled for voice",
- "type": "boolean"
- },
- "isPlaceEnabledForVoice": {
- "description": "Whether or not the place is enabled for voice",
- "type": "boolean"
- }
- }
- },
- "Roblox.Voice.Api.Models.UpdateUsersVoiceChatPermissionRequest": {
- "description": "Request model for updating whether a user has opted into voice chat or not.",
- "type": "object",
- "properties": {
- "isUserOptIn": {
- "description": "Gets or sets a boolean indicating whether the user opts-in to voice chat feature.",
- "type": "boolean"
- }
- }
- },
- "Roblox.Voice.Api.Models.UpdateUsersVoiceChatPermissionResponse": {
- "description": "Response model for updating whether a user has opted into voice chat or not.",
- "type": "object",
- "properties": {
- "isUserOptIn": {
- "description": "Gets or sets a boolean indicating whether the user opts-in to voice chat feature.",
- "type": "boolean"
- }
- }
- },
- "Roblox.Voice.Api.Models.JoinVoiceCallRequest": {
- "description": "Request model to join voice call for a chat conversation",
- "type": "object",
- "properties": {
- "callReferenceId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "type": {
- "description": "Gets or sets the type of joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.JoinVoiceChannelResponse": {
- "description": "response model for try join voice channel request",
- "type": "object",
- "properties": {
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.VoiceCallLifecycleRequestBase": {
- "description": "Request model to start publishing to voice call",
- "type": "object",
- "properties": {
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.BaseStatusResponse": {
- "description": "base response model for voice apis",
- "type": "object",
- "properties": {
- "status": {
- "description": "Gets or sets status of response",
- "enum": [
- "Success"
- ],
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.PublishInCallRequest": {
- "description": "Request model to start publishing to voice call",
- "type": "object",
- "properties": {
- "offerSdp": {
- "description": "Gets or sets sdp offer to start publishing",
- "type": "string"
- },
- "isMuted": {
- "description": "Gets or sets a value indicating whether to start as muted or not",
- "type": "boolean"
- },
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.CallUsersListResponse": {
- "description": "Response model for users in voice call",
- "type": "object",
- "properties": {
- "channelId": {
- "description": "Gets or sets the unique id of the call",
- "type": "string"
- },
- "ownState": {
- "$ref": "#/definitions/Roblox.Voice.Api.CallParticipantState",
- "description": "Gets or sets the requesting user's state in the channel"
- },
- "publishers": {
- "description": "Gets or sets the user Id",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Platform.Voice.CallPublisherInfo"
- }
- }
- }
- },
- "Roblox.Voice.Api.CallParticipantState": {
- "description": "Wraps a call participant's state",
- "type": "object",
- "properties": {
- "isMuted": {
- "description": "Gets or sets if the user is muted",
- "type": "boolean"
- }
- }
- },
- "Roblox.Platform.Voice.CallPublisherInfo": {
- "type": "object",
- "properties": {
- "userId": {
- "format": "int64",
- "type": "integer"
- },
- "feedReferenceId": {
- "format": "int64",
- "type": "integer"
- },
- "isMuted": {
- "type": "boolean"
- }
- }
- },
- "Roblox.Voice.Api.Models.TrickleIceRequest": {
- "description": "Request model for Trickle ICE request for a completing a subscription/peer connection",
- "type": "object",
- "properties": {
- "candidates": {
- "description": "Gets or sets Web-RTC ICE candidates",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Platform.Voice.IceCandidate"
- }
- },
- "isLast": {
- "description": "Gets or sets a value indicating whether this is the last candidate.\r\nThis allows combining the last candidate trickle request with signaling trickle end.",
- "type": "boolean"
- },
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Platform.Voice.IceCandidate": {
- "type": "object",
- "properties": {
- "sdpMid": {
- "type": "string"
- },
- "sdpMLineIndex": {
- "format": "int32",
- "type": "integer"
- },
- "candidate": {
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.SubscriptionsRequest": {
- "description": "Request model for user feed subscription operations",
- "type": "object",
- "properties": {
- "subscribedUsers": {
- "description": "Gets or sets the publisher infos for all users to be subscribed by the subscription request",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CallPublisherInfoRequest"
- }
- },
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.CallPublisherInfoRequest": {
- "description": "Request model for a call publisher's details, does not include the publishing state (muted/unmuted)",
- "type": "object",
- "properties": {
- "userId": {
- "format": "int64",
- "description": "Gets or sets the user Id",
- "type": "integer"
- },
- "feedReferenceId": {
- "format": "int64",
- "description": "Gets or sets the unique identifier for a publisher's feed (timestamp user finished publishing handshake)\r\nThis is used to identify the latest feed associated with a publisher",
- "type": "integer"
- }
- }
- },
- "Roblox.Voice.Api.Models.BaseSubscriptionsResponse": {
- "description": "Base Response model for subscription operations",
- "type": "object",
- "properties": {
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "failures": {
- "description": "Gets or sets the reason, for each publisher the subscription operation failed",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "Roblox.Voice.Api.Models.CompleteSubscriptionsRequest": {
- "description": "Request model to complete subscribing to user feeds in voice call",
- "type": "object",
- "properties": {
- "sdpAnswersList": {
- "description": "Gets or sets publisher userIds to subscribe to",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CallPublisherSdpRequest"
- }
- },
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.CallPublisherSdpRequest": {
- "description": "Request model for a call publisher's details, does not include the publishing state (muted/unmuted)",
- "type": "object",
- "properties": {
- "publisher": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CallPublisherInfoRequest",
- "description": "Gets or sets the publisher's info"
- },
- "sdp": {
- "description": "Gets or sets an sdp message representing either an offer from or an answer to the publisher.",
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.SubscriptionTrickleIceRequest": {
- "description": "Request model for Trickle",
- "type": "object",
- "properties": {
- "subscribedUser": {
- "$ref": "#/definitions/Roblox.Voice.Api.Models.CallPublisherInfoRequest",
- "description": "Gets or sets the publisher info for the user being subscribed to"
- },
- "candidates": {
- "description": "Gets or sets Web-RTC ICE candidates",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Platform.Voice.IceCandidate"
- }
- },
- "isLast": {
- "description": "Gets or sets a value indicating whether this is the last candidate.\r\nThis allows combining the last candidate trickle request with signaling trickle end.",
- "type": "boolean"
- },
- "channelId": {
- "description": "Gets or sets unique id of the joined call",
- "type": "string"
- },
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.CreateGroupResponse": {
- "description": "The response model for the CreateGroup endpoint",
- "type": "object",
- "properties": {
- "channelIdentifier": {
- "description": "Gets or sets the channel identifier",
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.BulkCreateGroupsRequest": {
- "description": "Request for creating group channels in bulk",
- "type": "object",
- "properties": {
- "groupIds": {
- "description": "Gets or sets the group ids to create.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "Roblox.Voice.Api.ClientLogRequest": {
- "description": "Holds a client log message to be stored in the server logs",
- "type": "object",
- "properties": {
- "messages": {
- "description": "Gets or sets the logs messages.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Roblox.Voice.ClientLogMessage"
- }
- }
- }
- },
- "Roblox.Voice.ClientLogMessage": {
- "description": "Wraps a single log message from the client",
- "type": "object",
- "properties": {
- "isError": {
- "description": "Gets or sets a value indicating whether this is a client-side error level log. All other logs will be treated as info level.",
- "type": "boolean"
- },
- "message": {
- "description": "Gets or sets the logs message content.",
- "type": "string"
- }
- }
- },
- "Roblox.Voice.Api.Models.VoiceBaseRequest": {
- "description": "Base request class for VoiceController",
- "type": "object",
- "properties": {
- "sessionId": {
- "description": "Gets or sets unique id of the joined call",
- "maxLength": 65,
- "minLength": 0,
- "type": "string"
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement