Submit Intent
curl --request POST \
--url https://api.praxa.io/v8/intents \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.praxa.io/v8/intents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.praxa.io/v8/intents"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)Missions
Submit Intent
Record natural-language intent for deterministic compilation without implying execution or a provider outcome.
POST
/
v8
/
intents
Submit Intent
curl --request POST \
--url https://api.praxa.io/v8/intents \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.praxa.io/v8/intents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.praxa.io/v8/intents"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)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 includemissions: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
{
"intent": "Prepare a governed deployment plan"
}
intent must contain between 1 and 4,000 characters.
Response
{
"requestId": "11111111-1111-4111-8111-111111111111",
"submissionId": "22222222-2222-4222-8222-222222222222",
"disposition": "pending_compilation",
"message": "Recorded without execution."
}
TypeScript
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);
Last modified on August 14, 2026