> ## Documentation Index
> Fetch the complete documentation index at: https://docs.staging.questra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Questra

> Turn a questionnaire into a logic-ready survey on Decipher, Confirmit, Qualtrics, Alchemer, or Questra.

Questra programs surveys with AI. You upload a questionnaire, answer any clarifying questions, and Questra builds a complete, logic-ready survey for the platform you already use.

Use the [web app](https://program.questra.ai) in the browser, [MCP](/mcp) from Claude or Cursor, or the REST API to embed the same workflow in your own product.

## What you can do

<CardGroup cols={2}>
  <Card title="Program from a questionnaire" icon="file-import">
    Upload a Word, PDF, or similar spec. Questra extracts structure, routing, and quotas, then writes native survey source for your target platform.
  </Card>

  <Card title="Connect existing platforms" icon="plug">
    Attach Decipher, Confirmit, Qualtrics, Alchemer, or Questra Publish credentials. Programming can deliver the finished survey into that account.
  </Card>

  <Card title="Clarify before you program" icon="comments">
    Optional questionnaire clarifications catch missing skips, undefined destinations, and ambiguous items before programming starts.
  </Card>

  <Card title="Review and edit" icon="pen">
    After programming, review the survey, chat with the editor to change content, and keep an append-only revision history.
  </Card>
</CardGroup>

## How a survey moves through Questra

```mermaid theme={null}
flowchart LR
  upload[Upload questionnaire] --> clarify[Clarify]
  clarify --> program[Program]
  program --> review[Review and edit]
  review --> deliver[Deliver to platform]
```

1. **Create a survey** in your workspace and attach a questionnaire file.
2. **Clarify** (optional) — probe the questionnaire and answer or skip each item.
3. **Program** — start a programming run, choose a target platform (and optionally an integration), and wait until the run completes.
4. **Review** — inspect the programmed content, edit it, or run further chat-based edits.
5. **Deliver** — for connected platforms, programming can upload the survey upstream; otherwise you export the native source.

Long-running work (clarifications, programming, content edits) runs as a [workflow](/workflows/overview). Start it from the survey resource, then follow `workflow_id` and `stream_url` (or [webhooks](/webhooks/event-types)) until it finishes.

## Next

Every programmatic request uses a workspace API key as a Bearer token. Keys are created in the web app and scoped to one workspace — you do not send a separate organization header.

| Environment | App                                                              | API                                      |
| ----------- | ---------------------------------------------------------------- | ---------------------------------------- |
| Production  | [program.questra.ai](https://program.questra.ai)                 | `https://api.program.questra.ai`         |
| Staging     | [program.staging.questra.ai](https://program.staging.questra.ai) | `https://api.program.staging.questra.ai` |

API paths are under `/v1`. For example, `GET https://api.program.questra.ai/v1/whoami`.

<CardGroup cols={2}>
  <Card title="MCP" icon="robot" href="/mcp">
    Connect Claude or Cursor and program surveys as yourself.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Create an API key and authenticate REST requests.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Make your first authenticated API request.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/overview">
    Surveys, files, programming, integrations, and webhooks.
  </Card>
</CardGroup>
