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

# REST API Specs

Amigo exposes two general-purpose REST API surfaces, each auto-generated from its OpenAPI spec. A deployment-scoped Scribe API serves provider documentation workflows, and a separate active Data-MCP service provides organization-scoped data exploration over the Model Context Protocol:

| API                                                                                          | Built for                                              | Auth                                                                               | OpenAPI Spec                                                  |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [**Classic**](/api-reference/readme/classic.md)                                              | Text-based digital health                              | Organization-scoped JWT                                                            | [openapi.json](https://api.amigo.ai/v1/openapi.json)          |
| [**Platform**](/api-reference/readme/platform.md)                                            | Enterprise voice & healthcare                          | Workspace API key or scoped bearer token                                           | [openapi.json](https://api.platform.amigo.ai/v1/openapi.json) |
| [**Scribe**](https://docs.amigo.ai/developer-guide/platform-api/scribe)                      | Provider-owned clinical documentation                  | Provider session bearer token                                                      | `/v1/openapi.json` on the supplied Scribe API base            |
| [**Data-MCP**](https://docs.amigo.ai/developer-guide/platform-api/data-world-model/data-mcp) | Read-only SQL exploration of Classic organization data | Classic bearer token + `X-Org-Id`, or Classic API key/ID/user headers + `X-Org-Id` | N/A (MCP protocol)                                            |

{% content-ref url="/pages/JA8hKwAOT6nlOT0Vjw9j" %}
[Classic](/api-reference/readme/classic.md)
{% endcontent-ref %}

{% content-ref url="/pages/uf7w5MQjCY2ldvmRrVVs" %}
[Platform](/api-reference/readme/platform.md)
{% endcontent-ref %}

{% content-ref url="/pages/Y9xTgLUJ7NEwbrbMlpaG" %}
[Change Logs](/api-reference/change-logs.md)
{% endcontent-ref %}

{% hint style="info" %}
**Classic API** covers conversations, users, tools, simulations, and data access. Organization-scoped with per-user JWT auth. Built for consumer-facing digital health products.

**Platform API** covers workspaces, agents, skills, services, integrations, phone numbers, operators, EHR sync, FHIR, CRM, quality evaluation, and compliance controls. Requests use workspace API keys or scoped bearer tokens. Built for enterprise voice deployments and healthcare operations. Endpoint-specific filters, pagination, errors, and rate-limit behavior are defined in the Platform OpenAPI schema.

**Scribe API** covers provider-owned clinical documentation sessions and their transcripts, notes, summaries, checklists, and coding suggestions. It uses provider session tokens and a deployment-specific base URL.

**Data-MCP** is an active, standalone service for compatible MCP clients using Classic API organization credentials. Its seven tools query, describe, sample, and profile the tables visible to that credential (`sql_query`, `describe_query`, `tables`, `table_schema`, `sample_data`, `table_detail`, `profile_column`). Platform workspace clients instead use the [Platform API MCP server](https://docs.amigo.ai/developer-guide/platform-api/functions/mcp-server), while in-conversation agent data access uses [platform functions](https://docs.amigo.ai/developer-guide/platform-api/functions).

See the [Developer Guide](https://docs.amigo.ai/developer-guide) for integration guidance across these API surfaces.
{% endhint %}

## SDK Ecosystem

The Classic and Platform APIs are available through official SDKs. Current package versions live in the [Current SDK Packages table](/api-reference/change-logs.md#current-sdk-packages) so they are maintained in one place.

| SDK                     | Package                                                                          | Docs                                                                                  |
| ----------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **Platform TypeScript** | [`@amigo-ai/platform-sdk`](https://www.npmjs.com/package/@amigo-ai/platform-sdk) | [Platform SDK guide](https://docs.amigo.ai/developer-guide/platform-api/platform-sdk) |
| **Classic TypeScript**  | [`@amigo-ai/sdk`](https://www.npmjs.com/package/@amigo-ai/sdk)                   | [GitHub](https://github.com/amigo-ai/amigo-typescript-sdk)                            |
| **Classic Python**      | [`amigo-sdk`](https://pypi.org/project/amigo-sdk/)                               | [GitHub](https://github.com/amigo-ai/amigo-python-sdk)                                |

### SDK Features

The Classic SDKs provide:

* **Automatic authentication**: API key exchange for bearer tokens with proactive refresh
* **Retry with backoff**: exponential backoff with jitter, Retry-After header support
* **NDJSON streaming**: async generators for conversation create and interact endpoints
* **Type safety**: full type definitions generated from the OpenAPI spec
* **Error hierarchy**: typed error classes mapped to HTTP status codes

### Multi-Provider LLM Support

Amigo supports multiple model providers, but model selection is configured by the resource and channel rather than through one universal per-interaction field. Use the Classic service and version-set contracts or the Platform agent, skill, service, version-set, and voice configuration documented for your workflow. The OpenAPI schema identifies any endpoint-specific request overrides.

### Ecosystem Tools

* [**Developer Guide**](https://docs.amigo.ai/developer-guide): endpoint reference, SDK guides, and integration patterns
* [**Platform TypeScript SDK**](https://github.com/amigo-ai/amigo-platform-typescript-sdk): generated client, API reference, and integration guides
* [**Classic TypeScript examples**](https://github.com/amigo-ai/amigo-typescript-sdk/tree/main/examples): runnable examples for the Classic TypeScript SDK
* [**Classic Python examples**](https://github.com/amigo-ai/amigo-python-sdk/tree/main/examples): runnable examples for the Classic Python SDK
* [**SDK Ecosystem Changelog**](/api-reference/change-logs/sdk-ecosystem.md): release history for TypeScript and Python SDKs, developer tooling, and documentation


---

# 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.amigo.ai/api-reference/readme.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.
