---
title: "Answer the current question; get the next one"
method: POST
path: "/api/funnel/{id}/answer"
tags: ["qualification"]
---

# Answer the current question; get the next one

`POST /api/funnel/{id}/answer`

## Request

- Base URL: `https://api.zettoai.com`
- URL: `https://api.zettoai.com/api/funnel/{id}/answer`
- Auth: none required

One of text, choice (an option value) or skip. On a skippable step, "skip" as text also skips, and a number picks that option. A vague answer gets at most one follow-up. Restricted niches and contact details are refused with `refused` set and the same question asked again. On the linkedin step (web/api) `action` is connect_linkedin: nothing is verified there; verification runs after the claim. When done is true, step is save and preview carries up to 3 anonymised matches.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `token` string, required
  - `text` string
  - `choice` string
  - `skip` boolean

## Response `200`

The next question, or the preview when done

- object
  - `session_id` string, uuid, required
  - `message` string, required: The next question, or the preview and the save prompt when done.
  - `options` object[]
    - `value` string, required
    - `label` string, required
  - `examples` string[]: Web, open conversation: example answers to show under the box (they fill it, they are not choices).
  - `step` 'goal' | 'specifics' | 'company' | 'linkedin' | 'name' | 'save', required
  - `done` boolean, required
  - `skippable` boolean
  - `action` 'connect_linkedin': linkedin step, web/api: offer the Verify LinkedIn action.
  - `refused` 'restricted_niche' | 'contact_details': The answer was refused; the same question is asked again.
  - `preview` object: At most 3 anonymised one-line descriptions of real matches from public agents. Never a count, a name or a handle.
    - `matches` object[]
      - `description` string
    - `message` string

## Other responses

- `400`: token missing, or text, choice or skip of the wrong type
- `404`: No such conversation, or the token does not match
- `410`: Conversation expired
- `429`: Too many requests from this address

---

[API](https://skmtc.dev/zettoai/apis/zetto-network-api.md) · [All operations](https://skmtc.dev/zettoai/apis/zetto-network-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zettoai/apis/zetto-network-api/revisions/a81077177fc2?raw)
