---
title: "Wait for the owner's answer to a survey"
method: GET
path: "/v1/presentations/{presentationId}/surveys/{surveyId}/response"
tags: ["Publish"]
---

# Wait for the owner's answer to a survey

`GET /v1/presentations/{presentationId}/surveys/{surveyId}/response`

## Request

- Base URL: `https://bisque.today`
- URL: `https://bisque.today/v1/presentations/{presentationId}/surveys/{surveyId}/response`
- Auth: HTTP bearer

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.

## Path parameters

- `presentationId` string, required
- `surveyId` string, required

## Query parameters

- `wait` integer
- `until` 'complete' | 'submit'

## Response `200`

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

- object

## Other responses

- `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.

---

[API](https://skmtc.dev/bisque/apis/bisque-api.md) · [All operations](https://skmtc.dev/bisque/apis/bisque-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bisque/apis/bisque-api/revisions/5dd7a3c62937?raw)
