Sessions’ Public API provides a REST API option that uses HTTPS requests and responses. You can use the APIs to automate flows and build new capabilities that best align with your needs.
Accessing the Public APIs
To access Sessions’ Public API, you must generate an API Key (access token), which will be used to invoke APIs.
How to add a Public API Key:
1. Go to your Profile → Workspace settings.
2. Click on Public API.
3. Click on the New key button.
4. Enter a name for your API key and click Confirm.
5. Select an API key role:
- USER is recommended for general use of Public API
- GUEST works only for Guest Public API requests.
- Your API Key token is generated. Copy and store the token. It won't be available later on.
Due to security reasons, you cannot edit your API Key or see the generated token again.
You can revoke (delete) a created API key. Once revoked, that key won't work anymore if the token is used.
Schema
All Sessions’ Public API access is over HTTPS, and can be accessed from https://api.app.sessions.us/api-docs/. All data is sent and received as JSON.
Rate limiting
The Sessions’ Public API uses rate limiting to control API traffic. Currently, the number of allowed requests is 10 per minute. If this is reached, requests will fail with Error Code 429. Details about the allowed requests, remaining requests and number of seconds left in the current period can be found in Headers.
Endpoints available on Sessions’ Public API
For more details regarding the Public API schemas, please check https://api.app.sessions.us/api-docs/.
Booking pages
- GET /api/booking-pages/{id} -> Returns a specific booking page.
- PUT /api/booking-pages/{id} -> Update a booking page.
- DELETE /api/booking-pages/{id} -> Delete a booking page.
- GET /api/booking-pages -> Returns 20 booking pages for the current user, paginated
- POST /api/booking-pages -> Create a booking page.
- POST /api/booking-pages/{id}/slots -> Compute a specific booking page's available time slots between 2 dates.
- GET /api/booking-pages/{id}/bookings -> Returns 20 not started bookings for the booking page, paginated
- GET /api/booking-pages/{id}/collaborators -> Returns 20 booking pages collaborators for the booking page, paginated
- POST /api/booking-pages/{id}/collaborators -> Create a booking page collaborator.
- PUT /api/booking-pages/{id}/collaborators -> Update a booking page collaborator.
- DELETE /api/booking-pages/{id}/collaborators -> Delete a booking page collaborator.
Bookings
- GET /api/bookings -> Returns 20 bookings for the current user, paginated
- POST /api/bookings -> Create a booking.
- PUT /api/bookings/{id} -> Update a booking.
- POST /api/bookings/{id} -> Cancel a booking.
- DELETE /api/bookings/{id} -> Delete a booking.
- POST /api/bookings/{id}/collaborator -> Change the booking collaborator on a booking.
Guests
- POST /api/guests/bookings -> Create a booking as guest.
- PUT /api/guests/bookings/{id} -> Update a booking as guest.
- POST /api/guests/bookings/{id} -> Cancel a booking as guest.
- POST /api/guests/events/{eventIdOrSessionId}/register -> Register to event as guest by event id or session id.
Rooms
- GET /api/rooms/{id} -> Returns a specific room.
- PUT /api/rooms/{id} -> Update a room.
- DELETE /api/rooms/{id} -> Delete a room.
- GET /api/rooms -> Returns 20 rooms for the current user, paginated
- POST /api/rooms -> Create a room.
- POST /api/rooms/{id}/clone -> Clone a room.
- POST /api/rooms/{id}/share -> Share a room.
Sessions
- GET /api/sessions/{id} -> Returns a specific session.
- PUT /api/sessions/{id} -> Update a session.
- DELETE /api/sessions/{id} -> Delete a session.
- GET /api/sessions -> Returns 20 sessions for the current user, paginated
- POST /api/sessions -> Create a session.
- GET /api/sessions/{id}/participants -> Returns a specific session's participants.
- POST /api/sessions/{id}/participants -> Add participants to session.
- PUT /api/sessions/{id}/participants -> Update participants from session.
- DELETE /api/sessions/{id}/participants -> Delete session participants.
- GET /api/sessions/{id}/takeaways -> Get session takeaways.
- GET /api/sessions/{id}/transcripts -> Get session transcripts.
Events
- GET /api/events -> Returns 20 events for the current user, paginated
- POST /api/events -> Create an event.
- POST /api/events/{eventIdOrSessionId}/publish -> Publish an event by event id or session id.
- POST /api/events/{eventIdOrSessionId}/toggle-public -> Toggle an event as public or not by event id or session id.
- POST /api/events/{eventIdOrSessionId}/clone -> Clone an event by event id or session id.
- POST /api/events/{eventIdOrSessionId}/register -> Register to event by event id or session id.