BillyDocumentation

Add a session to an event

Schedules an additional session on an existing event. The start and duration are provided; the end is computed server-side as `startAt + durationMinutes`. Returns 404 when the event does not exist or does not belong to your organization. Overlapping sessions are accepted.

Preview release

This operation is only available on the preview release target — send Billy-API-Version: preview to reach it. Preview has no stability promise: its routes and payloads can change without notice, so pin a dated release before you depend on one. The playground below sends a real POST request to the live API with your own key, and will create or modify actual data.
POST
/v1/events/{event_id}/sessions

Schedules an additional session on an existing event. The start and duration are provided; the end is computed server-side as startAt + durationMinutes. Returns 404 when the event does not exist or does not belong to your organization. Overlapping sessions are accepted.

Authorization

HTTPBearer
AuthorizationBearer <token>

API key authentication. Format: Bearer billy:o:<organization_id>:<api_key>

Example: Bearer billy:o:yyyyyyyyyyyyyyyy:xxxxxxxxxxxxxxxxx

In: header

Path Parameters

event_id*Event Id

Header Parameters

Billy-API-Version*string

Requested API version. Current context: preview.

Default"preview"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

A session of POST /v1/events.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/events/string/sessions" \  -H "Billy-API-Version: preview" \  -H "Content-Type: application/json" \  -d '{    "startAt": "2026-11-15T20:30:00+01:00",    "durationMinutes": 90  }'
{  "id": "68799a92-c357-454d-afa5-54ed51f1f98f",  "startAt": "2025-03-21T20:30:00+01:00",  "durationMinutes": 180}