Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
CreateGameEventRequest — openapi
Request body for POST /v3/universes/{universeId}/game-events. universeId comes from the URL path, not the body. VirtualEventsApi.Models.V3.Request.CreateGameEventRequest.Visibility is restricted to Public/Private — Moderated is server-side only. Nullable CLR properties allow JSON binding to materialize incomplete requests; required fields are enforced by the virtual-events gRPC service when CreateVirtualEvent runs.
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | false | Event title. Clients must provide a non-empty value. |
| subtitle | string | false | Event subtitle. Clients must provide a non-empty value. |
| description | string | false | Optional event description. |
| startTime | string | false | Event start time. Clients must provide a timestamp such as yyyy-MM-ddTHH:mm:ss.fffzzz or yyyy-MM-ddTHH:mm:ss.fffZ. |
| endTime | string | false | Event end time. Clients must provide a timestamp such as yyyy-MM-ddTHH:mm:ss.fffzzz or yyyy-MM-ddTHH:mm:ss.fffZ, and it must be after VirtualEventsApi.Models.V3.Request.CreateGameEventRequest.StartTime. |
| visibility | false | Must be Public or Private; Moderated is server-managed and rejected. | |
| groupId | integer | false | Group host. When omitted, the authenticated user is the host. |
| placeId | integer | false | Optional venue place ID. When omitted, the event is created in the universe root place. |
| categories | array | false | |
| thumbnails | array | false | |
| config | false | Optional event configuration block (recurrence + notification audience) on the v3 Create body. | |
| featuringStatus | false | Optional featuring status flag. When omitted, defaults to "not featured". | |
| tagline | string | false | Optional tagline. Length and content are validated server-side. |
Related Schemas
Complete Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Event title. Clients must provide a non-empty value.",
"nullable": true
},
"subtitle": {
"type": "string",
"description": "Event subtitle. Clients must provide a non-empty value.",
"nullable": true
},
"description": {
"type": "string",
"description": "Optional event description.",
"nullable": true
},
"startTime": {
"type": "string",
"description": "Event start time. Clients must provide a timestamp such as\r\n`yyyy-MM-ddTHH:mm:ss.fffzzz` or `yyyy-MM-ddTHH:mm:ss.fffZ`.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Event end time. Clients must provide a timestamp such as\r\n`yyyy-MM-ddTHH:mm:ss.fffzzz` or `yyyy-MM-ddTHH:mm:ss.fffZ`, and it must be after\r\nVirtualEventsApi.Models.V3.Request.CreateGameEventRequest.StartTime.",
"format": "date-time",
"nullable": true
},
"visibility": {
"allOf": [
{
"$ref": "#/components/schemas/EventVisibility"
}
],
"description": "Must be `Public` or `Private`; `Moderated` is server-managed and rejected.",
"nullable": true
},
"groupId": {
"type": "integer",
"description": "Group host. When omitted, the authenticated user is the host.",
"format": "int64",
"nullable": true
},
"placeId": {
"type": "integer",
"description": "Optional venue place ID. When omitted, the event is created in the universe root place.",
"format": "int64",
"nullable": true
},
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventRankedCategory"
},
"nullable": true
},
"thumbnails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventMedia"
},
"nullable": true
},
"config": {
"allOf": [
{
"$ref": "#/components/schemas/CreateGameEventConfigRequest"
}
],
"description": "Optional event configuration block (recurrence + notification audience) on the v3 Create body.",
"nullable": true
},
"featuringStatus": {
"allOf": [
{
"$ref": "#/components/schemas/FeaturingStatus"
}
],
"description": "Optional featuring status flag. When omitted, defaults to \"not featured\".",
"nullable": true
},
"tagline": {
"type": "string",
"description": "Optional tagline. Length and content are validated server-side.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Request body for `POST /v3/universes/{universeId}/game-events`.\r\n`universeId` comes from the URL path, not the body.\r\nVirtualEventsApi.Models.V3.Request.CreateGameEventRequest.Visibility is restricted to Public/Private — Moderated is server-side only.\r\nNullable CLR properties allow JSON binding to materialize incomplete requests; required\r\nfields are enforced by the virtual-events gRPC service when `CreateVirtualEvent` runs."
}