# Survey evidence

> API type: survey. Collect structured responses without a media watch timer.

Source: https://dashboard.adquest.batriders.ir/docs/quest-evidence/survey · Audience: Developers · Section: Quest evidence

## Collect every required response

Start with requiresTimer: false and call session.getQuestions(). Render all required questions and collect the participant’s answers. Surveys accept supported responses rather than requiring the advertiser’s preferred opinion; validation and any configured verification still apply.

**Submit a multi-question survey**

```typescript
import type { SurveyAnswerInput } from "@adquest/sdk";

const session = await client.startQuest(questId, { requiresTimer: false });
const questions = await session.getQuestions();
// Your form must populate these from the participant's actual responses.
const answers: SurveyAnswerInput[] = questions.map((question) => ({
  questionId: question.id,
  optionId: selectedOptions[question.id],
}));
const result = await session.complete(answers);
```

## Verify response handling

- Block submission when required responses are missing.
- Check multi-question navigation, answer preservation and free-text validation where enabled.
- Respect validation or fraud-check rejection; do not silently change the user’s answers to pass a check.
- Inspect answer distribution in quest analytics after a real completion.

## Next steps

- [Quest evidence overview](https://dashboard.adquest.batriders.ir/docs/quest-evidence): The shared request helper and the completion flow.
- [Quest actions API](https://dashboard.adquest.batriders.ir/docs/api/quest-actions): Every request and response.
- [Set up this quest in the dashboard](https://dashboard.adquest.batriders.ir/docs/dashboard/quests/survey): For publishers: configure and publish the quest.
