# Classic API

- [Classic API](https://docs.amigo.ai/developer-guide/classic-api/core-api.md): Classic API reference for text-based conversations, user management, tools, simulations, and metrics.
- [Organization](https://docs.amigo.ai/developer-guide/classic-api/core-api/organization.md): Create, modify, and delete organizations. Manage user dimensions and branding configuration.
- [Agents & Context Graphs](https://docs.amigo.ai/developer-guide/classic-api/core-api/agents-and-context-graphs.md): Define agent personas and versioned context graphs (state machines) that power conversation flows.
- [Users](https://docs.amigo.ai/developer-guide/classic-api/core-api/users.md): Create, list, update, and delete users. Manage variables, memories, and authentication tokens.
- [User Models](https://docs.amigo.ai/developer-guide/classic-api/core-api/users/user-models.md): Read and update Amigo-managed user models with additional context from your systems.
- [Services](https://docs.amigo.ai/developer-guide/classic-api/core-api/services.md): Discover, create, and manage services with version sets, dynamic behaviors, and deployment routing.
- [Conversations](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations.md): Core conversation API for creating, interacting with, and managing AI-powered conversations.
- [Create](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-create.md): Initialize conversations with agent-first, user-first, or external-event message types.
- [Interact](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-interact.md): Send user messages to active conversations and process streaming NDJSON responses.
- [Events](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-events.md): NDJSON event types for conversation streams: messages, actions, errors, and audio fillers.
- [Lifecycle & Finish](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-lifecycle.md): Manage conversation states, finish sessions manually or automatically, and handle dangling conversations.
- [Starters](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-starters.md): Generate contextual conversation starter prompts for UI widgets and onboarding flows.
- [Voice](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-voice.md): Voice note exchange over HTTP and real-time WebSocket voice with audio filler management.
- [Real-time Voice (WebSocket)](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-realtime.md): WebSocket API for low-latency bidirectional voice with VAD, interruption, and streaming TTS.
- [External Events & Multi-Stream (WebSocket)](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversations-realtime-external-events.md): Send external events alongside user input on WebSocket connections for multi-stream apps.
- [Conversation History](https://docs.amigo.ai/developer-guide/classic-api/core-api/conversations/conversation-history.md): Retrieve conversation history, messages, audio sources, tags, response recommendations, and insights.
- [Tools](https://docs.amigo.ai/developer-guide/classic-api/core-api/tools.md): Create, publish, version, and invoke organization-scoped tools with environment variables and Git integration.
- [Tool Repository](https://docs.amigo.ai/developer-guide/classic-api/core-api/tool-repository.md): Browse tool source code (branches, commits, files, and diffs) through the API without direct repository access.
- [Dynamic Behaviors](https://docs.amigo.ai/developer-guide/classic-api/core-api/dynamic-behaviors.md): Create trigger-based behavior sets that inject instructions or modify tool availability during conversations.
- [Metrics](https://docs.amigo.ai/developer-guide/classic-api/core-api/metrics.md): Define and evaluate conversation quality metrics (boolean, numerical, or categorical) with automated scoring.
- [Simulations](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations.md): Automated agent testing with personas, scenarios, unit tests, and configurable success criteria.
- [Personas](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations/simulation-personas.md): Create and version simulated user profiles with background, role, and language for testing.
- [Scenarios](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations/simulation-scenarios.md): Define conversation test scripts with objectives, instructions, and initial message types.
- [Unit Tests](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations/simulation-unit-tests.md): Combine a persona, scenario, service, and success criteria into a single repeatable test case.
- [Unit Test Sets](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations/simulation-unit-test-sets.md): Group unit tests into suites with configurable run counts for batch execution.
- [Unit Test Set Runs](https://docs.amigo.ai/developer-guide/classic-api/core-api/simulations/simulation-unit-test-set-runs.md): Execute test suites, monitor progress, cancel runs, and download result artifacts.
- [Admin](https://docs.amigo.ai/developer-guide/classic-api/core-api/admin.md): Administrative endpoints for listing available LLM models and downloading prompt logs for debugging.
- [SDKs](https://docs.amigo.ai/developer-guide/classic-api/sdks.md): Official Python and TypeScript SDKs for the Classic API with streaming, auth, and error handling.
- [Installation](https://docs.amigo.ai/developer-guide/classic-api/sdks/sdk-installation.md): Install the Amigo SDK in Python (pip) or TypeScript (npm) with environment setup instructions.
- [Configuration](https://docs.amigo.ai/developer-guide/classic-api/sdks/sdk-configuration.md): Configure SDK clients with API keys, regional endpoints, and environment variable support.
- [Hello World Example](https://docs.amigo.ai/developer-guide/classic-api/sdks/sdk-hello-world.md): Create your first conversation with a step-by-step tutorial in Python and TypeScript.
- [Error Handling](https://docs.amigo.ai/developer-guide/classic-api/sdks/sdk-error-handling.md): Handle API errors with typed exceptions, stream error events, and built-in retry logic.
- [Data Access](https://docs.amigo.ai/developer-guide/classic-api/data-access.md): Read operational data from Amigo via SQL API (serverless) or Delta Sharing into your warehouse.
- [SQL API (Serverless)](https://docs.amigo.ai/developer-guide/classic-api/data-access/sql-api.md): Run read-only SQL queries against organization tables over HTTPS with serverless compute.
- [Delta Sharing](https://docs.amigo.ai/developer-guide/classic-api/data-access/delta-sharing.md): Governed, read-only table sharing into your warehouse or lakehouse via the open Delta Sharing protocol.
- [Organization Tables & Schemas](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables.md): Schema reference for organization tables - conversations, users, services, tools, and more.
- [Conversation](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/conversation.md): Table schemas for conversations, messages, and extracted memories.
- [User](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/user.md): Table schema for user profiles, preferences, and dimensions.
- [Service](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/service.md): Table schema for service configurations and version sets.
- [Organization](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/organization.md): Table schema for organization details, agents, and state machines.
- [Dynamic Behaviors](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/dynamic-behaviors.md): Table schema for dynamic behavior sets, versions, triggers, and invocations.
- [Metric](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/metric.md): Table schema for metrics and evaluation results.
- [Role](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/role.md): Table schema for roles and permission definitions.
- [Tool](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/tool.md): Table schema for tools, versions, and invocation history.
- [Simulation](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/simulation.md): Table schema for simulation personas, scenarios, unit tests, and run results.
- [Common Query Patterns](https://docs.amigo.ai/developer-guide/classic-api/data-access/organization-tables/common-query-patterns.md): SQL examples for common analytics queries across organization tables.
- [Webhooks](https://docs.amigo.ai/developer-guide/classic-api/webhooks.md): Configure webhook destinations, event subscriptions, signature verification, and secret rotation.
- [Permissions](https://docs.amigo.ai/developer-guide/classic-api/permissions.md): Role-based access control and security for Classic API users and organizations.
- [Role-Based Permissions](https://docs.amigo.ai/developer-guide/classic-api/permissions/role-based-permissions.md): Configure and manage user roles and granular permissions via the role management APIs.
- [Temporary Permission Grants](https://docs.amigo.ai/developer-guide/classic-api/permissions/temporary-permission-grants.md): Request time-limited, scoped access to specific conversations for debugging and QA.


---

# 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/classic-api.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.
