Enum RequestType
- Namespace
- OBSStudioClient.Enums
- Assembly
- OBSClient.dll
The requests that obs-websocket knows.
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum RequestType
Fields
GetVersion = 0Gets data about the current plugin and RPC version.
GetStats = 1Gets statistics about OBS, obs-websocket, and the current session.
BroadcastCustomEvent = 2Broadcasts a
CustomEventto all WebSocket clients. Receivers are clients which are identified and subscribed.CallVendorRequest = 3Call a request registered to a vendor. A vendor is a unique name registered by a third-party plugin or script, which allows for custom requests and events to be added to obs-websocket. If a plugin or script implements vendor requests or events, documentation is expected to be provided with them.
GetHotkeyList = 4Gets an array of all hotkey names in OBS. Note: Hotkey functionality in obs-websocket comes as-is, and we do not guarantee support if things are broken. In 9/10 usages of hotkey requests, there exists a better, more reliable method via other requests.
TriggerHotkeyByName = 5Triggers a hotkey using its name. See
GetHotkeyList. Note: Hotkey functionality in obs-websocket comes as-is, and we do not guarantee support if things are broken. In 9/10 usages of hotkey requests, there exists a better, more reliable method via other requests.TriggerHotkeyByKeySequence = 6Triggers a hotkey using a sequence of keys. Note: Hotkey functionality in obs-websocket comes as-is, and we do not guarantee support if things are broken. In 9/10 usages of hotkey requests, there exists a better, more reliable method via other requests.
Sleep = 7Sleeps for a time duration or number of frames. Only available in request batches with types
SERIAL_REALTIMEorSERIAL_FRAME.GetPersistentData = 8Gets the value of a "slot" from the selected persistent data realm.
SetPersistentData = 9Sets the value of a "slot" from the selected persistent data realm.
GetSceneCollectionList = 10Gets an array of all scene collections.
SetCurrentSceneCollection = 11Switches to a scene collection. Note: This will block until the collection has finished changing.
CreateSceneCollection = 12Creates a new scene collection, switching to it in the process. Note: This will block until the collection has finished changing.
GetProfileList = 13Gets an array of all profiles.
SetCurrentProfile = 14Switches to a profile.
CreateProfile = 15Creates a new profile, switching to it in the process.
RemoveProfile = 16Removes a profile. If the current profile is chosen, it will change to a different profile first.
GetProfileParameter = 17Gets a parameter from the current profile's configuration.
SetProfileParameter = 18Sets the value of a parameter in the current profile's configuration.
GetVideoSettings = 19Gets the current video settings. Note: To get the true FPS value, divide the FPS numerator by the FPS denominator. Example:
60000/1001.SetVideoSettings = 20Sets the current video settings. Note: Fields must be specified in pairs. For example, you cannot set only
baseWidthwithout needing to specifybaseHeight.GetStreamServiceSettings = 21Gets the current stream service settings (stream destination).
SetStreamServiceSettings = 22Sets the current stream service settings (stream destination). Note: Simple RTMP settings can be set with type
rtmp_customand the settings fieldsserverandkey.GetRecordDirectory = 23Gets the current directory that the record output is set to.
SetRecordDirectory = 24Sets the current directory that the record output writes files to. Introduced in obs-websocket 5.3.0.
GetSourceActive = 25Gets the active and show state of a source. Compatible with inputs and scenes..
GetSourceScreenshot = 26Gets a Base64-encoded screenshot of a source. The
imageWidthandimageHeightparameters are treated as "scale to inner", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept. IfimageWidthandimageHeightare not specified, the compressed image will use the full resolution of the source. Compatible with inputs and scenes..SaveSourceScreenshot = 27Saves a screenshot of a source to the filesystem. The
imageWidthandimageHeightparameters are treated as "scale to inner", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept. IfimageWidthandimageHeightare not specified, the compressed image will use the full resolution of the source. Compatible with inputs and scenes..GetSceneList = 28Gets an array of scenes in OBS.
GetGroupList = 29Gets an array of all groups in OBS. Groups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them as scenes where we can.
GetCurrentProgramScene = 30Gets the current program scene. Note 1: This request is slated to have the
currentProgram-prefixed fields removed from in an upcoming RPC version. Note 2: Canvases do not have any concept of a program or preview scene, so this request does not support canvases.SetCurrentProgramScene = 31Sets the current program scene.
GetCurrentPreviewScene = 32Gets the current preview scene. Only available when studio mode is enabled. Note: This request is slated to have the
currentPreview-prefixed fields removed from in an upcoming RPC version.SetCurrentPreviewScene = 33Sets the current preview scene. Only available when studio mode is enabled.
CreateScene = 34Creates a new scene in OBS.
RemoveScene = 35Removes a scene from OBS.
SetSceneName = 36Sets the name of a scene (rename).
GetSceneSceneTransitionOverride = 37Gets the scene transition overridden for a scene. Note: A transition UUID response field is not currently able to be implemented as of 2024-1-18.
SetSceneSceneTransitionOverride = 38Sets the scene transition overridden for a scene.
GetInputList = 39Gets an array of all inputs in OBS.
GetInputKindList = 40Gets an array of all available input kinds in OBS.
GetSpecialInputs = 41Gets the names of all special inputs.
CreateInput = 42Creates a new input, adding it as a scene item to the specified scene.
RemoveInput = 43Removes an existing input. Note: Will immediately remove all associated scene items.
SetInputName = 44Sets the name of an input (rename).
GetInputDefaultSettings = 45Gets the default settings for an input kind.
GetInputSettings = 46Gets the settings of an input. Note: Does not include defaults. To create the entire settings object, overlay
inputSettingsover thedefaultInputSettingsprovided byGetInputDefaultSettings.SetInputSettings = 47Sets the settings of an input.
GetInputMute = 48Gets the audio mute state of an input.
SetInputMute = 49Sets the audio mute state of an input.
ToggleInputMute = 50Toggles the audio mute state of an input.
GetInputVolume = 51Gets the current volume setting of an input.
SetInputVolume = 52Sets the volume setting of an input.
GetInputAudioBalance = 53Gets the audio balance of an input.
SetInputAudioBalance = 54Sets the audio balance of an input.
GetInputAudioSyncOffset = 55Gets the audio sync offset of an input. Note: The audio sync offset can be negative too!
SetInputAudioSyncOffset = 56Sets the audio sync offset of an input.
GetInputAudioMonitorType = 57Gets the audio monitor type of an input. The available audio monitor types are: -
OBS_MONITORING_TYPE_NONE-OBS_MONITORING_TYPE_MONITOR_ONLY-OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT.SetInputAudioMonitorType = 58Sets the audio monitor type of an input.
GetInputAudioTracks = 59Gets the enable state of all audio tracks of an input.
GetInputDeinterlaceMode = 60Gets the deinterlace mode of an input. Deinterlace Modes: -
OBS_DEINTERLACE_MODE_DISABLE-OBS_DEINTERLACE_MODE_DISCARD-OBS_DEINTERLACE_MODE_RETRO-OBS_DEINTERLACE_MODE_BLEND-OBS_DEINTERLACE_MODE_BLEND_2X-OBS_DEINTERLACE_MODE_LINEAR-OBS_DEINTERLACE_MODE_LINEAR_2X-OBS_DEINTERLACE_MODE_YADIF-OBS_DEINTERLACE_MODE_YADIF_2XNote: Deinterlacing functionality is restricted to async inputs only. Introduced in obs-websocket 5.6.0.SetInputDeinterlaceMode = 61Sets the deinterlace mode of an input. Note: Deinterlacing functionality is restricted to async inputs only. Introduced in obs-websocket 5.6.0.
GetInputDeinterlaceFieldOrder = 62Gets the deinterlace field order of an input. Deinterlace Field Orders: -
OBS_DEINTERLACE_FIELD_ORDER_TOP-OBS_DEINTERLACE_FIELD_ORDER_BOTTOMNote: Deinterlacing functionality is restricted to async inputs only. Introduced in obs-websocket 5.6.0.SetInputDeinterlaceFieldOrder = 63Sets the deinterlace field order of an input. Note: Deinterlacing functionality is restricted to async inputs only. Introduced in obs-websocket 5.6.0.
SetInputAudioTracks = 64Sets the enable state of audio tracks of an input.
GetInputPropertiesListPropertyItems = 65Gets the items of a list property from an input's properties. Note: Use this in cases where an input provides a dynamic, selectable list of items. For example, display capture, where it provides a list of available displays.
PressInputPropertiesButton = 66Presses a button in the properties of an input. Some known
propertyNamevalues are: -refreshnocache- Browser source reload button Note: Use this in cases where there is a button in the properties of an input that cannot be accessed in any other way. For example, browser sources, where there is a refresh button.GetTransitionKindList = 67Gets an array of all available transition kinds. Similar to
GetInputKindList.GetSceneTransitionList = 68Gets an array of all scene transitions in OBS.
GetCurrentSceneTransition = 69Gets information about the current scene transition.
SetCurrentSceneTransition = 70Sets the current scene transition. Small note: While the namespace of scene transitions is generally unique, that uniqueness is not a guarantee as it is with other resources like inputs.
SetCurrentSceneTransitionDuration = 71Sets the duration of the current scene transition, if it is not fixed.
SetCurrentSceneTransitionSettings = 72Sets the settings of the current scene transition.
GetCurrentSceneTransitionCursor = 73Gets the cursor position of the current scene transition. Note:
transitionCursorwill return 1.0 when the transition is inactive.TriggerStudioModeTransition = 74Triggers the current scene transition. Same functionality as the
Transitionbutton in studio mode.SetTBarPosition = 75Sets the position of the TBar. Very important note: This will be deprecated and replaced in a future version of obs-websocket.
GetSourceFilterKindList = 76Gets an array of all available source filter kinds. Similar to
GetInputKindList. Introduced in obs-websocket 5.4.0.GetSourceFilterList = 77Gets an array of all of a source's filters.
GetSourceFilterDefaultSettings = 78Gets the default settings for a filter kind.
CreateSourceFilter = 79Creates a new filter, adding it to the specified source.
RemoveSourceFilter = 80Removes a filter from a source.
SetSourceFilterName = 81Sets the name of a source filter (rename).
GetSourceFilter = 82Gets the info for a specific source filter.
SetSourceFilterIndex = 83Sets the index position of a filter on a source.
SetSourceFilterSettings = 84Sets the settings of a source filter.
SetSourceFilterEnabled = 85Sets the enable state of a source filter.
GetSceneItemList = 86Gets a list of all scene items in a scene. Scenes only.
GetGroupSceneItemList = 87Basically GetSceneItemList, but for groups. Using groups at all in OBS is discouraged, as they are very broken under the hood. Please use nested scenes instead. Groups only.
GetSceneItemId = 88Searches a scene for a source, and returns its id. Scenes and Groups.
GetSceneItemSource = 89Gets the source associated with a scene item. Introduced in obs-websocket 5.4.0.
CreateSceneItem = 90Creates a new scene item using a source. Scenes only.
RemoveSceneItem = 91Removes a scene item from a scene. Scenes only.
DuplicateSceneItem = 92Duplicates a scene item, copying all transform and crop info. Scenes only.
GetSceneItemTransform = 93Gets the transform and crop info of a scene item. Scenes and Groups.
SetSceneItemTransform = 94Sets the transform and crop info of a scene item.
GetSceneItemEnabled = 95Gets the enable state of a scene item. Scenes and Groups.
SetSceneItemEnabled = 96Sets the enable state of a scene item. Scenes and Groups.
GetSceneItemLocked = 97Gets the lock state of a scene item. Scenes and Groups.
SetSceneItemLocked = 98Sets the lock state of a scene item. Scenes and Group.
GetSceneItemIndex = 99Gets the index position of a scene item in a scene. An index of 0 is at the bottom of the source list in the UI. Scenes and Groups.
SetSceneItemIndex = 100Sets the index position of a scene item in a scene. Scenes and Groups.
GetSceneItemBlendMode = 101Gets the blend mode of a scene item. Blend modes: -
OBS_BLEND_NORMAL-OBS_BLEND_ADDITIVE-OBS_BLEND_SUBTRACT-OBS_BLEND_SCREEN-OBS_BLEND_MULTIPLY-OBS_BLEND_LIGHTEN-OBS_BLEND_DARKENScenes and Groups.SetSceneItemBlendMode = 102Sets the blend mode of a scene item. Scenes and Groups.
GetVirtualCamStatus = 103Gets the status of the virtualcam output.
ToggleVirtualCam = 104Toggles the state of the virtualcam output.
StartVirtualCam = 105Starts the virtualcam output.
StopVirtualCam = 106Stops the virtualcam output.
GetReplayBufferStatus = 107Gets the status of the replay buffer output.
ToggleReplayBuffer = 108Toggles the state of the replay buffer output.
StartReplayBuffer = 109Starts the replay buffer output.
StopReplayBuffer = 110Stops the replay buffer output.
SaveReplayBuffer = 111Saves the contents of the replay buffer output.
GetLastReplayBufferReplay = 112Gets the filename of the last replay buffer save file.
GetOutputList = 113Gets the list of available outputs.
GetOutputStatus = 114Gets the status of an output.
ToggleOutput = 115Toggles the status of an output.
StartOutput = 116Starts an output.
StopOutput = 117Stops an output.
GetOutputSettings = 118Gets the settings of an output.
SetOutputSettings = 119Sets the settings of an output.
GetStreamStatus = 120Gets the status of the stream output.
ToggleStream = 121Toggles the status of the stream output.
StartStream = 122Starts the stream output.
StopStream = 123Stops the stream output.
SendStreamCaption = 124Sends CEA-608 caption text over the stream output.
GetRecordStatus = 125Gets the status of the record output.
ToggleRecord = 126Toggles the status of the record output.
StartRecord = 127Starts the record output.
StopRecord = 128Stops the record output.
ToggleRecordPause = 129Toggles pause on the record output.
PauseRecord = 130Pauses the record output.
ResumeRecord = 131Resumes the record output.
SplitRecordFile = 132Splits the current file being recorded into a new file. Introduced in obs-websocket 5.5.0.
CreateRecordChapter = 133Adds a new chapter marker to the file currently being recorded. Note: As of OBS 30.2.0, the only file format supporting this feature is Hybrid MP4. Introduced in obs-websocket 5.5.0.
GetMediaInputStatus = 134Gets the status of a media input. Media States: -
OBS_MEDIA_STATE_NONE-OBS_MEDIA_STATE_PLAYING-OBS_MEDIA_STATE_OPENING-OBS_MEDIA_STATE_BUFFERING-OBS_MEDIA_STATE_PAUSED-OBS_MEDIA_STATE_STOPPED-OBS_MEDIA_STATE_ENDED-OBS_MEDIA_STATE_ERROR.SetMediaInputCursor = 135Sets the cursor position of a media input. This request does not perform bounds checking of the cursor position.
OffsetMediaInputCursor = 136Offsets the current cursor position of a media input by the specified value. This request does not perform bounds checking of the cursor position.
TriggerMediaInputAction = 137Triggers an action on a media input.
GetStudioModeEnabled = 138Gets whether studio is enabled.
SetStudioModeEnabled = 139Enables or disables studio mode.
OpenInputPropertiesDialog = 140Opens the properties dialog of an input.
OpenInputFiltersDialog = 141Opens the filters dialog of an input.
OpenInputInteractDialog = 142Opens the interact dialog of an input.
GetMonitorList = 143Gets a list of connected monitors and information about them.
OpenVideoMixProjector = 144Opens a projector for a specific output video mix. Mix types: -
OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW-OBS_WEBSOCKET_VIDEO_MIX_TYPE_PROGRAM-OBS_WEBSOCKET_VIDEO_MIX_TYPE_MULTIVIEWNote: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.OpenSourceProjector = 145Opens a projector for a source. Note: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.
GetCanvasList = 146Gets an array of canvases in OBS. Introduced in obs-websocket 5.7.0.
Remarks
The numeric values of the members are not part of the obs-websocket protocol, but they are embedded in the assemblies that use this enum. A member keeps its value (they are listed in tools/protocol/overlay.toml); new members get the next number.