Send Raw Request

Send a raw request to VTube Studio
Send Raw Request Dialog
Send Raw Request Dialog

How to send a VTS Raw request

All request types can be found at the official VTubeStudio API documentation on Github: VTube Studio API Development Page
  1. Choose request type
First we are looking for the request we want to make. You can find your exact request type in the VTS API documentation. In our example, we'll do a [**ExpressionStateRequest**](https://github.com/DenchiSoft/VTubeStudio?tab=readme-ov-file#requesting-current-expression-state-list).
  1. Create the subaction
We create the subaction `Integrations -> VStudio -> Send Raw Request`. The `Request` field of the subaction gets the `messageType` key shown in the documentation. That's the area marked in orange.
![VTS Raw Example Request](/assets/3.api/1.sub-actions/integrations/vtube-studio/assets/vts-raw-example-3-docs.png)
![VTS Raw Example Request](/assets/3.api/1.sub-actions/integrations/vtube-studio/assets/vts-raw-example-3.png)

3. Data key

The actual big input area is the `data` key, marked in yellow. But here we only copy everything within (and including) the curly brackets.

::tip
If the request shown in the documentation doesn't have a `data` key (like the [**CurrentModelRequest**](https://github.com/DenchiSoft/VTubeStudio?tab=readme-ov-file#getting-the-currently-loaded-model)), then you just do empty curly brackets as the input: `{}`
::

4. Replace eventual placeholders

For the `ExpressionStateRequest`, we are looking for a specific expression of ours which is just called `test`, so we replace `myExpression_optional_1.exp3.json` with `test.exp3.json`. So in case you have to specify certain values, make sure to replace the placeholders.

5. Test action

Now we are ready to test the request by either hitting "Test" on the subaction or just running the entire action *(running the entire action would populate `%variables%` if we used any in the request)*.

![VTS Raw Example Request](/assets/3.api/1.sub-actions/integrations/vtube-studio/assets/vts-raw-example-4.png)
![VTS Raw Example Request](/assets/3.api/1.sub-actions/integrations/vtube-studio/assets/vts-raw-example-5.png)

6. Check response variables

We can check the populated variables in the response of the subaction or in the Action History after running the action.

7. Done!

Parameters

Name
String

Name of the raw request (optional)

Variable Prefix
String required

Prefix of the populated variables, vtsRaw by default. For example vtsRaw.data.modelName

Request
String required

Exact name of the request

JSON
JSON required

The JSON request

Variables

NameTypeDescription
Example Value:GenericUser

display name of the warned user

 
Variables generated by all triggers and available within all action executions.

C# Usage

public string VTubeStudioSendRawRequest(string requestType, string data)
Read more in API > C# > Methods > Integrations > Vtube Studio > Send Raw Request