# SDKs

The Amigo Platform SDK (`@amigo-ai/platform-sdk`) provides a fully typed TypeScript interface to the Platform API at `api.platform.amigo.ai`. It covers every customer-facing resource: agents, services, calls, analytics, simulations, billing, memory, and more.

{% hint style="info" %}
**Platform API only.** This SDK targets `api.platform.amigo.ai`. For the Classic API (`api.amigo.ai`), see the [Classic API SDKs](/developer-guide/classic-api/sdks.md).
{% endhint %}

## Available SDK

| Property            | Value                                                                                                          |
| ------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Package**         | `@amigo-ai/platform-sdk`                                                                                       |
| **Repository**      | [github.com/amigo-ai/amigo-platform-typescript-sdk](https://github.com/amigo-ai/amigo-platform-typescript-sdk) |
| **Registry**        | [npm](https://www.npmjs.com/package/@amigo-ai/platform-sdk)                                                    |
| **Node.js Version** | 18+                                                                                                            |
| **Language**        | TypeScript (ships ESM + CJS, full `.d.ts` types)                                                               |

## Key Features

* **Full type safety.** Every request and response is typed. Branded ID types (`AgentId`, `ServiceId`, and so on) prevent cross-resource ID mixups at compile time.
* **Workspace-scoped resources.** All operations are automatically scoped to your workspace ID.
* **Streaming support.** Real-time conversation and call events.
* **Built-in error handling.** Typed error classes with HTTP status codes.
* **Zero-config retries.** Automatic exponential backoff for transient failures.
* **Dual module output.** ESM and CJS, works in Node.js 18+, Bun, and Deno.

## Covered Resources

| Resource       | Client Property        | Description                        |
| -------------- | ---------------------- | ---------------------------------- |
| Workspaces     | `client.workspaces`    | Workspace info and settings        |
| API Keys       | `client.apiKeys`       | Create and manage API keys         |
| Agents         | `client.agents`        | Agent definitions and versions     |
| Skills         | `client.skills`        | Tool/skill management              |
| Services       | `client.services`      | Published deployable services      |
| Context Graphs | `client.contextGraphs` | Conversation flow graphs           |
| Data Sources   | `client.dataSources`   | External data connectors           |
| World          | `client.world`         | Entity and event management        |
| Calls          | `client.calls`         | Call records and intelligence      |
| Phone Numbers  | `client.phoneNumbers`  | Phone number provisioning          |
| Integrations   | `client.integrations`  | API integration configs            |
| Analytics      | `client.analytics`     | Call volume, quality, trends       |
| Simulations    | `client.simulations`   | Voice simulation sessions          |
| Settings       | `client.settings`      | Voice, branding, memory, retention |
| Billing        | `client.billing`       | Usage metering and plans           |
| Memory         | `client.memory`        | Entity memory and facts            |

## Getting Started

1. [**Installation**](/developer-guide/platform-api/platform-sdk/installation.md)**.** Add the SDK to your project.
2. [**Configuration**](/developer-guide/platform-api/platform-sdk/configuration.md)**.** Set up authentication.
3. [**Quickstart**](/developer-guide/platform-api/platform-sdk/quickstart.md)**.** Make your first API call.
4. [**Error Handling**](/developer-guide/platform-api/platform-sdk/error-handling.md)**.** Handle errors gracefully.

## Quick Example

```typescript
import { AmigoClient } from '@amigo-ai/platform-sdk'

const client = new AmigoClient({
  apiKey: process.env.AMIGO_API_KEY!,
  workspaceId: process.env.AMIGO_WORKSPACE_ID!,
})

const agents = await client.agents.list()
console.log(`You have ${agents.agents.length} agents`)
```

## License

MIT License.


---

# Agent Instructions: 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:

```
GET https://docs.amigo.ai/developer-guide/platform-api/platform-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
