Skip to main content
POST
/
sessions
/
create
Create Session
curl --request POST \
  --url https://api.series.hr/sessions/create \
  --header 'Content-Type: application/json' \
  --header 'apikey: <api-key>' \
  --data '
{
  "Title": "Training Session",
  "Scheduled": "2023-11-07T05:31:56Z",
  "Duration": 2,
  "Description": "<string>",
  "Host": "714760171",
  "CoHost": "<string>",
  "Supervisor": "<string>",
  "Claimable": true,
  "CustomRoles": [
    {
      "name": "<string>",
      "slots": 5,
      "minRank": 1,
      "permissions": {
        "ChangeSessionStatus": true,
        "PassOrFailAttendees": true,
        "ModifyAttendance": true
      }
    }
  ]
}
'
Create a new session with optional scheduling and duration parameters.

Request

curl -X POST https://api.series.hr/sessions/create \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "Title": "Training Session",
    "Host": "714760171",
    "Scheduled": "2024-01-20T15:00:00Z",
    "Duration": 60,
    "CustomRoles": [
      {
        "name": "Trainer",
        "slots": 2,
        "minRank": 50,
        "permissions": {
          "ChangeSessionStatus": false,
          "PassOrFailAttendees": true,
          "ModifyAttendance": true
        }
      }
    ]
  }'

Parameters

Title
string
required
Session title
Scheduled
string
required
ISO 8601 scheduled start time
Duration
integer
required
Session duration in minutes (must be a positive integer)
Host
string
Roblox user ID of the host (optional, must be a workspace member)
Description
string
Detailed session description (optional)
CoHost
string
Roblox user ID of the co-host (optional)
Supervisor
string
Roblox user ID of the supervisor (optional)
Claimable
boolean
Whether users can claim attendance (default: false)
CustomRoles
array
Array of custom role definitions (Premium/Enterprise only). Each role object has:
  • name (string, required): Role name (must be unique, cannot be “Host”, “CoHost”, or “Supervisor”)
  • slots (integer, required): Number of slots (1-10)
  • minRank (integer, optional): Minimum rank requirement (default: 0)
  • permissions (object, optional): Role permissions
    • ChangeSessionStatus (boolean): Can start/delay/cancel/end the session
    • PassOrFailAttendees (boolean): Can mark attendees as passed/failed
    • ModifyAttendance (boolean): Can manage the attendance list

Response

201
{
  "success": true,
  "data": {
    "sessionId": "session_abc123",
    "Title": "Training Session",
    "Host": "714760171",
    "Scheduled": "2024-01-20T15:00:00Z",
    "Duration": 3600,
    "createdAt": "2024-01-15T10:30:00Z"
  }
}

Authorizations

apikey
string
header
required

Pass your API key in the apikey header. Alternatively, the x-api-key header is also accepted.

Body

application/json
Title
string
required

Session title

Example:

"Training Session"

Scheduled
string<date-time>
required

Session start time in ISO 8601 format

Duration
integer
required

Duration in minutes (positive integer)

Required range: x >= 1
Description
string

Detailed session description

Host
string

Roblox user ID of the host (optional, must be a workspace member)

Example:

"714760171"

CoHost
string

Roblox user ID of co-host (optional)

Supervisor
string

Roblox user ID of supervisor (optional)

Claimable
boolean

Whether users can claim attendance (default: false)

CustomRoles
object[]

Custom role definitions (Premium/Enterprise only)

Response

Session created