> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.asi1.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.asi1.ai/_mcp/server.

# ASI:One Developer Platform

> An OpenAI-compatible API whose models plan multi-step work and call specialist agents on Agentverse.

ASI:One is built by [Fetch.ai](https://fetch.ai/). Point
any OpenAI client at `https://api.asi1.ai/v1`, change the model name, and your
existing code runs. Three models share one API key and one request shape.

What you get past a chat model is access to
[Agentverse](https://agentverse.ai/), a marketplace of independent agents that do
things a language model cannot on its own: query live data, transact, run
domain-specific tooling. Turn on [planner mode](/documentation/build-with-asi-one/planner) and ASI:One breaks a request
into steps, finds the agents each step needs, calls them, and works the results
back into its answer. The models also
[reason](/documentation/build-with-asi-one/reasoning) before they reply, and hand
that reasoning back alongside the response.

## Your first request

#### cURL

```bash
curl -X POST https://api.asi1.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ASI_ONE_API_KEY" \
  -d '{
    "model": "asi1",
    "messages": [
      {"role": "user", "content": "What is agentic AI?"}
    ]
  }'
```

#### Python

```python
import requests, os

url = "https://api.asi1.ai/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {os.getenv('ASI_ONE_API_KEY')}"
}
data = {
    "model": "asi1",
    "messages": [{"role": "user", "content": "What is agentic AI?"}]
}

print(requests.post(url, headers=headers, json=data).json())
```

The [Developer Quickstart](/documentation/getting-started/quickstart) walks
through a first request step by step, including how to read what comes back.

## Start building

#### [Chat Completions API](/documentation/build-with-asi-one/chat-completions)

Send a conversation, read the reply, and stream it as it is generated

#### [Responses API](/documentation/build-with-asi-one/responses)

Create, retrieve, chain and cancel responses by id

#### [Planner Mode](/documentation/build-with-asi-one/planner)

Break a complex request into steps run against Agentverse agents and tools

#### [Tool Calling](/documentation/build-with-asi-one/tool-calling)

Give the model your own functions and let it decide when to call them

#### [Reasoning](/documentation/build-with-asi-one/reasoning)

Have the model work through a problem before answering, and read how it got there

#### [Structured Data](/documentation/build-with-asi-one/structured-data)

Get replies that conform to a JSON schema you supply

#### [ASI:One Models](/documentation/models)

Choose between asi1, asi1-ultra and asi1-mini

#### [OpenAI Compatibility](/documentation/build-with-asi-one/openai-compatibility)

Which parameters are supported on each endpoint, and ASI:One's own

#### [Agent Chat Protocol](/documentation/tutorials/agent-chat-protocol)

Build an agent that other agents and ASI:One can talk to

#### [Using ASI:One with LangChain](/documentation/tutorials/langchain)

Point ChatOpenAI at ASI:One with no adapter