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

# Submit Intent

> Record natural-language intent for deterministic compilation without implying execution or a provider outcome.

`POST /v8/intents` durably records natural-language intent for deterministic compilation. A `202 Accepted` response confirms admission only; it does not represent a completed mission, action, or provider outcome.

## Required scope

The access token must include `missions:write`.

## Headers

| Header            | Required | Description                                               |
| ----------------- | -------- | --------------------------------------------------------- |
| `Authorization`   | Yes      | `Bearer <short-lived-oauth-token>`                        |
| `Content-Type`    | Yes      | `application/json`                                        |
| `Idempotency-Key` | Yes      | A stable 16–128 character key for this logical submission |

## Request body

```json theme={null}
{
  "intent": "Prepare a governed deployment plan"
}
```

`intent` must contain between 1 and 4,000 characters.

## Response

```json theme={null}
{
  "requestId": "11111111-1111-4111-8111-111111111111",
  "submissionId": "22222222-2222-4222-8222-222222222222",
  "disposition": "pending_compilation",
  "message": "Recorded without execution."
}
```

## TypeScript

```typescript theme={null}
import { PraxaClient } from "@praxa/sdk";

const client = new PraxaClient({
  baseUrl: process.env.PRAXA_BASE_URL!,
  accessToken: () => process.env.PRAXA_ACCESS_TOKEN!,
});

const submission = await client.submitIntent(
  "Prepare a governed deployment plan",
  crypto.randomUUID(),
);

console.log(submission.submissionId, submission.disposition);
```
