Open software

AI Native API

Drive the whole platform with code. Your own apps can start tasks, read the results, and run everything through plain web calls.

  • REST API
  • 120+ calls
  • For developers
AI Native API
Style
REST over HTTP
Calls
120+
Areas
26
Runs
On your machine

AI Native API

The AI Native API lets your own programs drive the AI Native Platform. Anything you can do by hand in the app, your code can do too: start a task, hand it to an agent, check how it is going, and read the result. You talk to it with plain web calls, the same kind of request a web page makes, so any language that can reach the internet can use it.

What you can reach

The platform is split into 26 areas, with more than 120 calls in total. You can manage tasks and projects, build step-by-step workflows, set schedules that run on their own, pick which agent and which AI model does the work, and even watch what each run costs. There are calls for documents, tables, settings, and saved backups too, so a small app of your own can lean on the whole platform.

Fire and forget

When you start a task, the API answers straight away and lets the agent work in the background. You do not sit and wait. If you want to follow along, open the task’s log stream and the lines arrive live as the agent does its job. When it finishes, one more call hands you the finished result.

It stays on your machine

The API runs where the platform runs, on your own computer. It uses the AI keys you already set in the app’s Settings, so there is no extra login and your work never has to leave your machine.

Install

# Ask the platform to run a task. It answers right away with a task id.
curl -X POST http://localhost:3000/api/tasks \
  -H "Content-Type: application/json" \
  -d '{"title":"Summarize this week of sales","assignedAgent":"claude-code"}'

Use it

// 1. Create a task. It comes back with an id.
const res = await fetch("http://localhost:3000/api/tasks", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ title: "Draft a blog post", assignedAgent: "claude-code" }),
});
const task = await res.json();

// 2. Move it to the queue, then start it. The call returns at once.
await fetch(`http://localhost:3000/api/tasks/${task.id}`, {
  method: "PATCH",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ status: "queued" }),
});
await fetch(`http://localhost:3000/api/tasks/${task.id}/execute`, { method: "POST" });

// 3. Read the result once it is done.
const out = await fetch(`http://localhost:3000/api/tasks/${task.id}/output`);
console.log(await out.json());

Specs

Style
REST over HTTP, JSON in and out
Web address
http://localhost:3000 (your own machine)
Sign-in
Uses the AI keys you set in Settings
Size
More than 120 calls across 26 areas
Live updates
Watch a task's logs stream as it runs