API · Presentations · 2 min read

Wait for an answer

Hold for the viewer's answer to a question on a slide.

GET /v1/presentations/{presentationId}/surveys/{surveyId}/response · API v1 · versioning

Returns the caller's own answer to one survey on one of their presentations. With wait, the request is held on a listener for up to that many seconds (at most 25) and answers the moment the survey is complete, or with until=submit the moment the viewer presses Continue (answers save as they are typed, so a complete text answer can still be half-written). On timeout it returns the answer as it stands with 200, and the caller polls again. This is the wait an agent already does for a deploy or a CI run, shaped like gh run watch. API-key callers only.

Authentication

Send an API key as Authorization: Bearer bisque_live_…. Keys come from bisque.cloud/setup/keys; see Authentication.

Request

ParameterInMeaning
presentationIdpath, required
surveyIdpath, requiredThe id in the slide's data-survey-spec.
waitquerySeconds to hold the request before answering with the answer as it stands. Default 0.
untilquerycomplete (default) answers once every required question has an answer. submit waits for the viewer to press Continue, or play on the survey's slide.

Example

curl -X GET https://bisque.cloud/v1/presentations/{presentationId}/surveys/{surveyId}/response \
  -H "Authorization: Bearer $BISQUE_API_KEY"

Response

200: { presentationId, surveyId, complete, submitted, answers?, submittedAt?, updatedAt? }; answers maps question id to value when complete.

Errors:

  • 400: wait is not a number of seconds, or until is not complete or submit.
  • 401: Missing or invalid credential.
  • 404: Not one of your presentations, or no such survey.

Other endpoints

PageCallWhat it does
Create a presentationPOST /v1/presentationsPut the slides up now and narrate them one at a time.
Get a presentationGET /v1/presentations/{presentationId}The open creation, to resume it from a new session.
Add slidesPATCH /v1/presentations/{presentationId}Append sections while the creation is open.
Update a slidePATCH /v1/presentations/{presentationId}/slides/{slideKey}Give one slide its narration after the MP3 is uploaded.
FinalizePOST /v1/presentations/{presentationId}:finalizeClaim the version. Slides still without audio stay silent.
Read as textGET /api/presentations/contextAny shared presentation as a transcript. No credential needed.