---
title: "Providers · intentic sandbox API"
description: "A built-in provider's model catalogue. Every route in the providers group of the intentic sandbox API, with its input, its answer and a playground."
url: "https://intentic.dev/api/providers/"
---

Models and accounts

# Providers

A built-in provider's model catalogue

One read, for the providers the sandbox ships with. Never empty, and left in the provider's own preference order rather than rearranged.

**GET`/providers` Providers a chat can run on here**

The installed ACP agents and model endpoints, which are the providers this sandbox adds to the fixed native list. A read for anyone who may watch or drive a turn: it names what a message can be addressed to, not what credential stands behind it.

### What you send

Nothing. Call it as it is.

### What comes back

| Field | Type |
| --- | --- |
| `native` Native providers with a working credential… | "claude" | "codex" | "grok" | "kimi" … (8)[] |
| `agents` ACP agents installed here | object[] |
| `id` | string |
| `label` | string |
| `endpoints` Model endpoints, already prefixed `endpoint/`, including… | object[] |
| `id` | string |
| `label` | string |
| `kind` | "endpoint" | "localmodel" |

Try it answered in this tab

curl

```bash
curl "$SANDBOX/providers" \
 -H "x-intentic-control: $INTENTIC_TOKEN"
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.providers.list();
```

**GET`/providers/{provider}/models` Models one provider offers**

Every model this provider serves and which one it defaults to. Never empty: it is discovered live with a stored list behind it. The order is the provider's own preference and is not rearranged here.

### What you send

| Field | Type | Where |
| --- | --- | --- |
| `provider` required | "claude" | "codex" | "grok" | "kimi" … (8) | address |

### What comes back

| Field | Type |
| --- | --- |
| `models` What this provider serves, in its… | object[] |
| `id` What to name when asking for… | string |
| `label` What to call it on screen | string |
| `efforts` The thinking levels it accepts, where… | string[] |
| `description` What it is good for, in… | string |
| `badges` What it is known for, where… | "reasoning" | "fast"[] |
| `contextWindow` How many tokens this model will… | number |
| `helperOnly` Set where this model may write… | "no-tool-calls" | "instant-tier" |
| `availableAt` When this model can be asked… | number |
| `default` Which one a fresh conversation starts… | string |

Try it answered in this tab

curl

```bash
curl "$SANDBOX/providers/claude/models" \
 -H "x-intentic-control: $INTENTIC_TOKEN"
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.providers.models({
 "provider": "claude"
});
```

More in Models and accounts

[Previous ← Endpoints](https://intentic.dev/api/endpoints/)[Next Usage →](https://intentic.dev/api/usage/)
