The Schedule resource represents an event schedule with days and venues. Each schedule can contain timeslots — the individual sessions placed on a day and venue.
Schedules use the /conventions path. Timeslots are nested under a schedule at /conventions/<convention_key>/timeslots.
Schedule
Sample payload
{
"created": "1970-01-01T00:00:00Z",
"custom_data": {
"is_list_open_default": false,
"is_top_controls_enabled": true,
"list_default_mode": "order_venue"
},
"days": [
{
"bottom_text": "00:00 - 23:59",
"end": "1970-01-01T23:59:00Z",
"id": "<day_id>",
"start": "1970-01-01T00:00:00Z",
"title": "Thu"
}
],
"end": "1970-01-01T23:59:00Z",
"key": "<convention_key>",
"search_help": [],
"start": "1970-01-01T00:00:00Z",
"style": {
"alpha": 1,
"letter_spacing": 0,
"max_lines": 0,
"sub_styles": []
},
"title": "Schedule Title",
"updated": "1970-01-01T00:00:00Z",
"venues": [
{
"description": "",
"id": "<venue_id>",
"position": 1,
"style": {},
"title": "Venue title"
}
]
}
Create Schedule
POST /conventions
Create a new schedule. Use the sample payload as a guide for the request body.
curl -X POST "https://backend.choicely.com/conventions" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "Schedule Title"
}'
Get all Schedules
GET /conventions
Retrieve all schedules.
curl "https://backend.choicely.com/conventions" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Get a single Schedule
GET /conventions/<convention_key>
Retrieve a single schedule by its key.
Unique key of the schedule.
curl "https://backend.choicely.com/conventions/<convention_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Update Schedule
PATCH /conventions/<convention_key>
Update an existing schedule. Include only the fields you want to change.
Unique key of the schedule.
curl -X PATCH "https://backend.choicely.com/conventions/<convention_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated title"
}'
Delete Schedule
DELETE /conventions/<convention_key>
Delete a schedule.
Unique key of the schedule.
curl -X DELETE "https://backend.choicely.com/conventions/<convention_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Schedule Timeslot
Sample payload
{
"article": "<article_key>",
"custom_data": {},
"day_id": "<random_id>",
"description": "",
"end": "1970-01-01T23:59:00Z",
"image": "<image_key>",
"navigation": {},
"search_terms": [
"search_term",
"search_term_2"
],
"start": "1970-01-01T00:00:00Z",
"style": {},
"time_text": "00-23",
"title": "Timeslot Title",
"venue_id": "<random_id>"
}
Create Timeslot
POST /conventions/<convention_key>/timeslots
Create a new timeslot within a schedule.
Unique key of the schedule the timeslot belongs to.
curl -X POST "https://backend.choicely.com/conventions/<convention_key>/timeslots" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "Timeslot Title"
}'
List Timeslots of Schedule
GET /conventions/<convention_key>/timeslots
Retrieve all timeslots for a schedule.
Unique key of the schedule.
curl "https://backend.choicely.com/conventions/<convention_key>/timeslots" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Get a single Timeslot
GET /timeslots/<timeslot_key>
Retrieve a single timeslot by its key.
Unique key of the timeslot.
curl "https://backend.choicely.com/timeslots/<timeslot_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Update Timeslot
PATCH /timeslots/<timeslot_key>
Update an existing timeslot. Include only the fields you want to change.
Unique key of the timeslot.
curl -X PATCH "https://backend.choicely.com/timeslots/<timeslot_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated title"
}'
Delete Timeslot
DELETE /timeslots/<timeslot_key>
Delete a timeslot.
Unique key of the timeslot.
curl -X DELETE "https://backend.choicely.com/timeslots/<timeslot_key>" \
-H "Authorization: Bearer <YOUR_API_KEY>"