Quick Start
Make your first API call in under 5 minutes.
This guide walks you through creating an API token and generating your first presentation.
Create an API token
Navigate to your workspace settings and create an API token. Select the scopes you need:
project:read/project:write/project:delete— manage projectsproject:plan/project:generate— AI generationsession:read/session:write— track generation progresswebhook:read/webhook:write— manage webhooks
Copy your token immediately — it will only be shown once.
Make your first request
List your projects to verify your token works:
curl -X GET https://your-instance.com/api/public/v1/projects \
-H "x-api-key: YOUR_API_TOKEN"const res = await fetch("https://your-instance.com/api/public/v1/projects", {
headers: { "x-api-key": "YOUR_API_TOKEN" },
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://your-instance.com/api/public/v1/projects",
headers={"x-api-key": "YOUR_API_TOKEN"},
)
print(res.json())Generate a presentation
Use the combined generate endpoint for a single-call flow:
curl -X POST https://your-instance.com/api/public/v1/projects/generate \
-H "x-api-key: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"outlineHints": ["Q3 Revenue Growth", "Market Expansion", "Product Roadmap"],
"topic": "Q3 Business Review"
}'const res = await fetch(
"https://your-instance.com/api/public/v1/projects/generate",
{
method: "POST",
headers: {
"x-api-key": "YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
outlineHints: ["Q3 Revenue Growth", "Market Expansion", "Product Roadmap"],
topic: "Q3 Business Review",
}),
}
);
const { sessionId } = await res.json();
console.log("Session:", sessionId);import requests
res = requests.post(
"https://your-instance.com/api/public/v1/projects/generate",
headers={
"x-api-key": "YOUR_API_TOKEN",
"Content-Type": "application/json",
},
json={
"outlineHints": ["Q3 Revenue Growth", "Market Expansion", "Product Roadmap"],
"topic": "Q3 Business Review",
},
)
data = res.json()
print("Session:", data["sessionId"])This returns a 202 response with a sessionId. Poll the session to track progress:
curl -X GET https://your-instance.com/api/public/v1/sessions/SESSION_ID \
-H "x-api-key: YOUR_API_TOKEN"When the session phase reaches "done", the response includes a link to the
generated project.