GET /api/presentations/context · API v1 · versioning
Metadata, the per-slide narration transcript with timestamps, and the bundle's context.md. Public and unlisted presentations resolve without credentials; send a bearer credential to read your own private ones. Anonymous callers get 60 requests per 10 minutes per IP, authenticated callers 300.
Authentication
Send an API key as Authorization: Bearer bisque_live_… to act as yourself; without one the call is answered as an anonymous reader.
Request
| Parameter | In | Meaning |
|---|---|---|
url | query | A watch URL, https://bisque.today/p/{handle}/{slug}. Either this or handle + slug. |
handle | query | Channel handle (leading @ tolerated). |
slug | query |
Example
curl -X GET https://bisque.cloud/api/presentations/context \
-H "Authorization: Bearer $BISQUE_API_KEY"
Response
200: The presentation.
| Field | Type | Meaning |
|---|---|---|
requestId | string, required | |
presentationId | string, required | |
title | string, required | |
handle | string, required | |
slug | string, required | |
webUrl | string, required | |
visibility | string, required | |
transcript | array of object, required | |
description | string or null | |
publishedAt | string or null | |
transcriptTruncatedSlides | integer | |
contextMd | string or null | |
contextTruncated | boolean |
Errors:
400: Neitherurlnorhandle+slugidentified a presentation.401: A credential was sent and is unusable.404: No presentation you can see at that address.429: Rate limited (CONTEXT_RATE_LIMITED). WaitRetry-Afterseconds.
Other endpoints
| Page | Call | What it does |
|---|---|---|
| Create a presentation | POST /v1/presentations | Put the slides up now and narrate them one at a time. |
| Get a presentation | GET /v1/presentations/{presentationId} | The open creation, to resume it from a new session. |
| Add slides | PATCH /v1/presentations/{presentationId} | Append sections while the creation is open. |
| Update a slide | PATCH /v1/presentations/{presentationId}/slides/{slideKey} | Give one slide its narration after the MP3 is uploaded. |
| Wait for an answer | GET /v1/presentations/{presentationId}/surveys/{surveyId}/response | Hold for the viewer's answer to a question on a slide. |
| Finalize | POST /v1/presentations/{presentationId}:finalize | Claim the version. Slides still without audio stay silent. |