> For the complete documentation index, see [llms.txt](https://docs.vapinetwork.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vapinetwork.ai/router/api-quickstart.md).

# Call your first model

Router is coming soon; this launch guide covers authenticated OpenAI-compatible requests and model listing.

{% hint style="info" %}
vAPI Router is coming soon. This page describes how it works at launch.
{% endhint %}

This guide is for developers who want to send one request through Router with an OpenAI-compatible client.

New to vAPI? Start with the [Quickstart](https://docs.vapinetwork.ai/quickstart).

Use vAPI Router with any OpenAI-compatible client. You need a Router key and the Router `/v1` base URL. Read [How wallets work](https://docs.vapinetwork.ai/agents/wallets/how-wallets-work) first.

The public Router origin is `https://router.vapinetwork.ai`. Replace the placeholder key in these examples with a key from the vAPI console or your linked agent.

## Call a text model with curl

```bash
curl https://router.vapinetwork.ai/v1/chat/completions \
  -H "Authorization: Bearer $VAPI_ROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice/deepseek-v3.2",
    "messages": [{"role": "user", "content": "Hello from vAPI Router"}]
  }'
```

## Use the Node OpenAI SDK

Install the SDK in your project:

```bash
npm install openai
```

Point the SDK at the Router `/v1` base URL and pass the key through the SDK credential field:

```js
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://router.vapinetwork.ai/v1",
  apiKey: process.env.VAPI_ROUTER_KEY,
});

const response = await client.chat.completions.create({
  model: "venice/deepseek-v3.2",
  messages: [{ role: "user", content: "Hello from vAPI Router" }],
});

console.log(response.choices[0].message.content);
```

Router also exposes these non-chat endpoints:

| Kind          | Endpoint                        |
| ------------- | ------------------------------- |
| Embedding     | `POST /v1/embeddings`           |
| Speech        | `POST /v1/audio/speech`         |
| Transcription | `POST /v1/audio/transcriptions` |
| Image         | `POST /v1/images/generations`   |

## List models

List models through the same OpenAI-compatible base URL:

```bash
curl https://router.vapinetwork.ai/v1/models \
  -H "Authorization: Bearer $VAPI_ROUTER_KEY"
```

At launch, the management API will also expose the configured catalog at:

```http
GET /api/router/models
```

## Use your AI app

Connect Claude, Cursor, or Codex to the local MCP server. Use `router.models` to choose a model and `router.chat` to send the message.

Compute calls use both the agent's daily allowance and the owner's daily Compute limit. MCP chat can then spend the owner's shared purchased Router balance, outside those daily limits. The MCP tool never returns the Router key.

## Next

* [Models](/router/models.md)
* [Access and keys](/router/access-and-keys.md)
* [Use Router from your agents](/router/use-router-from-your-agents.md)

Checked on 2026-10-02.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.vapinetwork.ai/router/api-quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
