# Submit native survey answers (/api-reference/survey-channels/submitNativeMobileSurvey)

`POST /public/retention/mobile-survey/submit`

Base URL: `https://api.bitelio.com`

Requires explicit final customer confirmation, the current revision and only visible answers. Uses the existing atomic survey validation, submission and customer insight pipeline. Exact retries are idempotent. Returns completed, replayed and available completion/help/nextStep views. Rendering or opening a notification never submits answers.

## Header parameters

- `X-Bitelio-Device`: string (required)

## Request body

- `revision`: integer (required)
- `answers`: array<object> (required)
  items:
    - `questionId`: string (required)
    - `value`: string | number | array<string> (required)

Example:

```json
{
  "revision": 0,
  "answers": [
    {
      "questionId": "string",
      "value": "string"
    }
  ]
}
```

## Responses

### `200` — Completed survey and available next step

- `completed`: boolean
- `replayed`: boolean
- `completion`: object
- `help`: object
- `nextStep`: object

```json
{
  "completed": false,
  "replayed": false,
  "completion": null,
  "help": null,
  "nextStep": null
}
```

### `400` — Invalid input or unavailable survey

### `404` — Session, permission or survey unavailable

### `409` — SURVEY_DRAFT_CONFLICT: reload before continuing

### `429` — Rate limit exceeded; Retry-After gives seconds

### `503` — Rate limiter temporarily unavailable

## Example request

```bash
curl -X POST 'https://api.bitelio.com/public/retention/mobile-survey/submit' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"revision":0,"answers":[{"questionId":"string","value":"string"}]}'
```
