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

# Concurrence API

Release history for Concurrence backend APIs, including Classic, Platform, and Scribe changes.

Updates to the Platform, Classic, and Scribe APIs, with integration requirements and migration steps. Latest numbered Concurrence API release: **v0.9.557** (July 2026). Unnumbered entries follow the date of the product announcement or source change; see the linked guide for deployment requirements.

Find older versions in the [archive index](#archive-index).

## Current Integration Boundaries <a href="#current-integration-boundaries" id="current-integration-boundaries"></a>

When upgrading an existing integration, check these provisioning and compatibility requirements alongside the dated changes below.

* **Managed channel provisioning and workspace bindings are separate.** Concurrence supplies the provisioned use-case identifier. Public Platform clients create, inspect, or remove its service binding; the Platform API has no use-case inventory or ownership operations. See [Use Cases & Bindings](https://docs.concurrence.com/developer-guide/platform-api/workspaces/use-cases).
* **Authenticated dataset intake is the file-ingestion path.** It does not issue shareable upload links or accept external HMAC uploads, and it does not perform inline malware scanning. See [Customer Data Intake](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/intake) and [Intake Upload Links](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/intake-links).
* **SMS controls have distinct evidence.** Registration, recipient consent, the opt-in-message send record, and suppression are separate. Provider acceptance does not prove delivery or prior consent. See [SMS](https://docs.concurrence.com/developer-guide/platform-api/conversations/sms).

## Change History <a href="#change-history" id="change-history"></a>

### October 18, 2026: Per-Service Analytics and Realtime Voice <a href="#october-18-2026-per-service-analytics" id="october-18-2026-per-service-analytics"></a>

* **Per-service analytics.** Advanced call metrics, tool performance, and production eval quality take `group_by=service_id` and return each service's results in `groups`, so one request covers every service. See [Per-Service Results](https://docs.concurrence.com/developer-guide/platform-api/safety/analytics#per-service-results).
* **Analytics `service_id`.** A `service_id` that isn't a UUID returns `422` on the analytics routes that filter by it, so send service ids as UUIDs. See [Per-Service Results](https://docs.concurrence.com/developer-guide/platform-api/safety/analytics#per-service-results).
* **Analytics trend size.** Call quality, emotion trends, latency, tool performance, operator performance, and advanced call metrics return `422` for a range with more than 2,200 buckets at the chosen `interval`, so use a coarser `interval` or a shorter range. See [Trend Limits](https://docs.concurrence.com/developer-guide/platform-api/safety/analytics#trend-limits).
* **Unavailable analytics.** The call and eval analytics routes return `503` with `{"detail": "Analytics unavailable"}` when they can't read their data, so handle it as no answer rather than zero. See [Unavailable Analytics](https://docs.concurrence.com/developer-guide/platform-api/safety/analytics#unavailable-analytics).
* **Realtime connection failures.** A `gpt_realtime` call whose connection to the realtime model fails or times out, or whose session setup can't be sent, takes the safe exit, so set a fixed `forward_to` on services that should hand these calls to a person. See [Graceful Degradation](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#graceful-degradation).
* **Multilingual realtime transcription.** With `realtime.transcription.language` unset, a `multilingual` `gpt_realtime` agent's callers are transcribed expecting English or Spanish, leaning toward English, so set the field when a service's callers mostly speak a language other than English. See [Realtime Session Models](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#realtime-session-models).
* **`gpt_realtime` outbound calls.** When a use case's service runs on `gpt_realtime`, `POST /calls/outbound` with `system_prompt`, `goal`, or `outbound_task_entity_id` returns `422` and nothing is dialed, so place the call without them, or run the service on `amigo`. See [Startup Instructions and Patient Identity](https://docs.concurrence.com/developer-guide/platform-api/conversations/calls#startup-instructions-and-patient-identity).

### October 18, 2026: Run Records, Voice Call Review, Integration Writes, and Realtime Calls <a href="#october-18-2026-runs-voice-review-integrations" id="october-18-2026-runs-voice-review-integrations"></a>

* **What ran a run.** Runs and conversation detail report `session_provider` and `manifest`: the runtime, versions, and models a run started with. Read them, not the service's current configuration, when you review a past run. See [What Ran a Run](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#what-ran-a-run).
* **Voice call review.** On a platform-managed call, conversation detail gives each line its engine turn, state, and place in the recording, and `voice.timeline` lays the lines out with the wait after a caller line where the call measured one, so review saved calls there however long ago they ended. See [Voice Call Detail](https://docs.concurrence.com/developer-guide/platform-api/conversations#voice-call-detail).
* **Exit conditions in history.** Saved turns and the JSON turn response give each hop its `exit_condition`, matching the stream's `state_transition` events. See [Streaming Behavior](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior).
* **Prompt logs by turn.** Each prompt log carries `turn_id`, which matches the conversation's turns, `engine_turn_id`, the state's `tool_names`, and `llm_model`, so join prompt logs to turns on `turn_id` rather than `turn_index`. See [Link a Prompt to Its Turn](https://docs.concurrence.com/developer-guide/platform-api/safety/prompt-logs#link-a-prompt-to-its-turn).
* **Text limit in the endpoint test.** The endpoint test reports `over_text_budget` and `text_budget_ms`, so check `over_text_budget` before you rely on an endpoint in a text conversation. See [Test an Endpoint](https://docs.concurrence.com/developer-guide/platform-api/integrations#test-an-endpoint).
* **Writes read from the body.** Under a `field` or `graphql` success rule, a 2xx write whose body doesn't hold what the rule reads, such as an HTML page or an empty `204`, or a GraphQL answer whose errors leave the result unclear, has an unknown outcome and isn't sent again. Use `http_status` for a vendor whose success body doesn't report the write. See [Writes Answered With a 2xx](https://docs.concurrence.com/developer-guide/platform-api/integrations#writes-answered-with-a-2xx).
* **External integration changes.** Every change to an external integration or its credentials needs a caller with a person entity, and an API key that isn't linked to a user gets `403`, so make these changes as a signed-in user. See [Permissions](https://docs.concurrence.com/developer-guide/platform-api/integrations/external-integrations#permissions).
* **`gpt_realtime` graphs.** A save that would run `gpt_realtime` on a Context Graph version that isn't exactly one action state returns `422`, so bind one that is, or use `amigo`. See [Session Provider](https://docs.concurrence.com/developer-guide/platform-api/workspaces/services#session-provider).
* **Realtime session setup.** A `gpt_realtime` call whose session setup the realtime model refuses or doesn't answer takes the safe exit, so set a fixed `forward_to` on services that should hand these calls to a person. See [Graceful Degradation](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#graceful-degradation).
* **Safe exit notice.** On both voice runtimes, the safe exit plays the AI and recording notice first when the caller hasn't heard all of it. No change is needed on your side. See [Graceful Degradation](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#graceful-degradation).
* **`gpt_realtime` recordings.** `gpt_realtime` calls are recorded like platform-managed calls, as caller, agent, and stereo files, so fetch their recordings the same way. See [Recordings](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#recordings).
* **Tool call results.** A conversation's tool call reports `succeeded: null` when no result was recorded for it, so handle `null` as well as `true` and `false`. See [Tool Call Details](https://docs.concurrence.com/developer-guide/platform-api/conversations#tool-call-details).
* **Silence ratio.** `latency_summary.silence_ratio` is null because call silence isn't measured, so treat the field as not measured rather than zero. See [Call Intelligence Persistence](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#call-intelligence-persistence).
* **Form submissions in web conversations.** In a web conversation, a surface's submission goes to the conversation's agent, which can answer it after the conversation has gone idle, so read the answer from the conversation's turns or its scoped event stream. See [Create a Surface](https://docs.concurrence.com/developer-guide/platform-api/conversations/surfaces#create-a-surface).
* **Surface conversation.** Surface create and reshape take an optional `conversation_id`, and `surface.submitted` carries it, so you can tie a surface to the text conversation it is for. See [Create a Surface](https://docs.concurrence.com/developer-guide/platform-api/conversations/surfaces#create-a-surface).
* **Voice settings reset.** A `null` for a field in `PUT /settings/voice` resets it to its default. See [Voice Settings](https://docs.concurrence.com/developer-guide/platform-api/workspaces#voice-settings).

### October 17, 2026: Conversations, Calls, Integrations, and Simulations <a href="#october-17-2026-conversations-calls-integrations" id="october-17-2026-conversations-calls-integrations"></a>

* **Turn refusals.** A turn on a conversation that has ended returns `409` with a `detail` that names its status, and so does a turn on a text conversation an operator has taken over, which reads back as `paused`, with `lifecycle` `active`, until the handback, so resend the turn after the handback, or start a new conversation after one has ended. See [Concurrency](https://docs.concurrence.com/developer-guide/platform-api/conversations#concurrency) and [Conversation Lifecycle](https://docs.concurrence.com/developer-guide/platform-api/conversations#conversation-lifecycle).
* **Failed turns.** A user turn that fails returns `502` with a failed-turn `detail`, or a non-retryable `error` frame on a stream, and a same-key retry replays the failure, so send a new turn instead; retry a `503` with the same `Idempotency-Key`. See [Retry Strategy](https://docs.concurrence.com/developer-guide/platform-api/conversations#retry-strategy).
* **Closing a conversation.** A close records `completion_reason` `closed`, `duration_seconds`, and `final_state`, the Context Graph state it was in, when known, so accept `closed` as a completion reason. Closing a text conversation an operator has taken over returns `409`; close it after the handback. See [Close a Conversation](https://docs.concurrence.com/developer-guide/platform-api/conversations#close-a-conversation).
* **Outbound call retries.** Once the callee's dial goes out and isn't refused, a retry of `POST /calls/outbound` with the same `idempotency_key` returns that call instead of dialing again, so retry a `502`, `503`, or `504` with the same key and request. See [Idempotency](https://docs.concurrence.com/developer-guide/platform-api/conversations/calls#idempotency).
* **Outbound call opening.** A platform-managed outbound call opens with the notice and greeting once the callee answers, and a voicemail that picks up counts as an answer, so keep the greeting fit to leave on a voicemail. A dial that is busy, goes unanswered, or fails ends the call before the agent speaks. See [Call Opening](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#call-opening).
* **Integration call time on text.** An integration call a text reply waits on gets about 20 seconds in all, so run a slow call in the background or through a companion skill. See [Endpoint Retries](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-retries).
* **Writes answered with a 2xx.** A write answered with a 2xx succeeds or has an unknown outcome, never a plain failure, and the endpoint test reports `outcome`, so read `outcome` before you send a write again. See [Endpoint Retries](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-retries) and [Test an Endpoint](https://docs.concurrence.com/developer-guide/platform-api/integrations#test-an-endpoint).
* **Approval for declared writes.** Under `approval_policy: writes`, a `GET` endpoint that declares a write requires approval, so the agent is offered it only as a top-level tool in text conversations, where it waits for approval, and role grants treat it as a write under any policy; review `GET` endpoints that declare one. See [Approval Policies](https://docs.concurrence.com/developer-guide/platform-api/integrations/approval-gated-integration-writes#approval-policies).
* **Realtime transcription language.** `voice_config.realtime.transcription.language` takes only the codes the schema lists, such as `en`, `es`, or `eng`, and any other value, `en-US` included, returns `422` on save, so use a listed code. See [Realtime Session Models](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#realtime-session-models).
* **Simulation grading.** When the agent's own turn fails or doesn't finish in time, the conversation's checks are `failed` and it scores 0, so read a failed check's `rationale`, which says when the agent's turn failed. See [Get Simulation Performance](https://docs.concurrence.com/developer-guide/platform-api/safety/simulation-coverage#get-simulation-performance).
* **Warm-transfer briefings on `gpt_realtime`.** The reply checks also stop a briefing that shares record details with a caller who hasn't verified, so keep record details out of the briefing until the caller has verified, and test a warm transfer with a caller who hasn't. See [Reply Checks](https://docs.concurrence.com/operations-and-safety/runtime-safety#reply-checks).

### October 16, 2026: Integration Writes, Voice Calls, and Simulations <a href="#october-16-2026-integration-message-writes" id="october-16-2026-integration-message-writes"></a>

* **Message writes.** Declare `message` on ticketing and handoff endpoints, or as a skill's `write_kind`, so on text and platform-managed voice the agent can take a message when someone asks for a person. See [Endpoint Write Declarations](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-write-declarations).
* **Unknown write outcomes.** A write that gets no answer saying whether it went through returns `"outcome": "unknown"` and isn't sent again in that conversation; reconcile these in the destination system. See [Endpoint Retries](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-retries).
* **Reply checks on `gpt_realtime`.** `gpt_realtime` calls get the pattern and model reply checks, which review each reply while it plays and can cut off a claim that no tool call backs, so have the agent call a tool before it says what the tool did. See [Reply Checks](https://docs.concurrence.com/operations-and-safety/runtime-safety#reply-checks).
* **Approval-gated tools.** Gated endpoints and `approval_required` skills are offered only in text conversations, so move those steps into a text flow. See [Approval-Gated Integration Writes](https://docs.concurrence.com/developer-guide/platform-api/integrations/approval-gated-integration-writes#key-concepts).
* **Tool rounds on voice.** A platform-managed caller turn runs up to six rounds of tool calls before the agent answers, so combine longer chains into fewer tools or a companion skill. See [Tool Execution](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#tool-execution).
* **Completion facts.** A text conversation that reaches a terminal Context Graph state reports `completion_reason`, `final_state`, and `duration_seconds` in conversation detail and runs. See [Runs](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#list-runs).
* **Skills.** Give each tool in a skill a unique name, or create and update return `422`; skill tests report a `failure_class`. See [Skills](https://docs.concurrence.com/developer-guide/platform-api/workspaces/skills#test-a-skill).
* **Simulations.** Case, suite, and benchmark launches take `tool_execution` to run chosen reads for real or return configured results, and case evals take `llm_boolean` assertions; rewrite legacy `llm_judge` and free-text assertions before you save a case's evals. See [Real Reads and Mocked Results](https://docs.concurrence.com/developer-guide/platform-api/safety/simulation-coverage#real-reads-and-mocked-results) and [Case Evals](https://docs.concurrence.com/developer-guide/platform-api/safety/simulation-coverage#case-evals).
* **Trace export.** Tool calls in text conversations and simulations export as `execute_tool` spans. See [Trace Export](https://docs.concurrence.com/developer-guide/platform-api/safety/trace-export).
* **Call KPI view.** Insights SQL can read the call KPI view and its per-call rows; filter each with `workspace_id = :ws_id`, and read the view's measures with `MEASURE(<name>)`. See [Insights](https://docs.concurrence.com/developer-guide/platform-api/safety/insights#list-query-schema).

### October 14, 2026: Legacy Platform Hosts Retired <a href="#october-14-2026-legacy-hosts-retired" id="october-14-2026-legacy-hosts-retired"></a>

The `*.platform.amigo.ai` hosts stopped resolving on October 14, 2026, including `api.platform.amigo.ai` and its regional and staging variants. Use the regional hosts in [Regions and Endpoints](https://docs.concurrence.com/developer-guide/getting-started/regions-and-endpoints): `https://platform.api-us.concurrence.com` (and `-eu`, `-au`, `-ca`, or `-staging`) for the Platform API, the matching `identity.api-<slot>.concurrence.com` host for tokens and device-code login, and `console-<slot>.concurrence.com` for the Console. The published Platform schema now lists `https://platform.api-us.concurrence.com` as its server. Platform SDK 0.113.1 and later default to the new US hosts; see [SDK Ecosystem](/api-reference/change-logs/sdk-ecosystem.md#october-2026-package-releases). The Classic API hosts, such as `api.amigo.ai`, are unchanged.

### October 14, 2026: Streamed Text Turns Report State <a href="#october-14-2026-streamed-turn-state" id="october-14-2026-streamed-turn-state"></a>

A streamed text turn now ends the way a JSON turn already did: after the reply, `/turns/stream` sends one `state_transition` frame per Context Graph hop the turn took, with `from_state`, `to_state`, and `exit_condition` (null on a hop out of an annotation state, which has none), then one `state` frame with `context_graph_state`, then `done`. A turn that stays in its state sends no `state_transition` frame. Hop fields on the stream are `from_state` and `to_state`; history turns name them `from` and `to`. A client that rejects unknown frames must accept both. Platform SDK 0.114.1 yields them from `streamTurn()`. See [Streaming Behavior](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior).

### October 14, 2026: Text Conversation Changes <a href="#october-14-2026-text-conversation-fixes" id="october-14-2026-text-conversation-fixes"></a>

* **Idle conversations.** A text conversation that gets a new turn after a long idle gap can continue with its earlier history.
* **Failed tool calls.** A text tool call whose result is an error, such as an integration endpoint the vendor answered with a 4xx or 5xx, counts as failed. The turn's tool calls, conversation detail, and the stream's `tool_call_completed` event report `succeeded: false`, the call does not trigger `navigate_on_completion`, and it backs no claim in the reply.

See [Idle Conversations](https://docs.concurrence.com/developer-guide/platform-api/conversations#idle-conversations) and [Reply Check](https://docs.concurrence.com/developer-guide/platform-api/conversations#reply-check).

### October 14, 2026: Verified Callers Read Only Their Own Records <a href="#october-14-2026-caller-record-scope" id="october-14-2026-caller-record-scope"></a>

The [caller verification](#october-12-2026-caller-verification) introduced on October 12 now also governs the agent's record tools on voice and text:

* **Before verification,** every built-in patient-record read, such as `world_patient_lookup`, `world_appointment_lookup`, and `world_get_medications`, returns status `verification_required` with no record, and `world_confirm_patient_identity` is offered next to each one. Operator-anchored, simulation, and test sessions are not gated.
* **After verification,** those reads return the caller's own record, or a household member's whose record names the caller as guardian or under a power of attorney. A read for anyone else returns status `not_caller_record`. What the caller says about a relationship does not widen this.
* **Scope.** This check covers the built-in `world_*` record tools. Patient reads through your own integration endpoints are not gated by it; the agent is instructed not to share another person's details from any tool, which is model guidance, so test those graphs.

See [Caller Verification](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#caller-verification).

### October 14, 2026: AI and Recording Disclosure at Call Start <a href="#october-14-2026-call-disclosure" id="october-14-2026-call-disclosure"></a>

Platform-managed and `gpt_realtime` calls open with an AI and recording notice, in Spanish on a Spanish voice. Remove any AI or recording notice from your own greeting so callers don't hear it twice. See [Voice Agent](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#call-opening).

### October 14, 2026: Safety Responses on Text and Realtime Calls <a href="#october-14-2026-safety-responses" id="october-14-2026-safety-responses"></a>

These behaviors are on for every service:

* **Self-harm on text.** When a text message matches the self-harm patterns, the reply is the platform's reviewed crisis script: the deployment region's crisis line (988 in the US and Canada, Lifeline in Australia) where one exists, and the emergency number for immediate danger. The conversation stays open. Voice is unchanged.
* **Crisis guidance on `gpt_realtime`.** Every `gpt_realtime` session opens with the same crisis rule and regional crisis resource that the other runtimes' instructions carry. The rule also covers hints, such as saying they won't be around after a certain day, and tells the agent to give the resource in its reply to the first sign. This is model guidance.
* **Reply check on platform-managed voice.** Before the caller hears a reply, a model check now reviews it for record details shared with an unverified caller, dosing or medication-change advice, a diagnosis, a promise to contact emergency services, and a claim that an appointment was booked, cancelled, or moved. A booking claim passes only when a write of that kind succeeded on the call. A cut reply is replaced by a short correction, and after an emergency on the call the correction is the emergency script. The check is model-based and can miss or over-match.
* **Reply check on text.** Every text reply, on any channel, now passes a reply check before it is sent. It stops dosing or medication-change advice, a promise to contact emergency services, and a claim that a booking, cancellation, or message is done when no tool call in the same turn completed a write of that kind. A stopped reply is replaced by a short correction in English or Spanish, or by the emergency script when the person's message described an emergency. On a streamed turn, `token` events now carry whole sentences, and the `message` event carries the correction. The check can miss or over-match a phrasing.
* **Requests for a person.** The agent offers to take a message only when its current state offers `world_ticket_create`, and confirms the message after the ticket is written; on voice and text, the reply check stops a message claimed as taken when no ticket was written. When the agent can neither transfer nor record a message, it says so and tells the caller how to reach the team. `gpt_realtime` transfers when the call has `forward_call`, and otherwise says so and gives the same guidance.
* **Silence on `gpt_realtime`.** After 10 seconds of quiet the agent checks in with a new line, then once more, and the next silence ends the call, matching the platform-managed runtime.

See [Runtime Safety](https://docs.concurrence.com/operations-and-safety/runtime-safety#control-map), [Reply Check](https://docs.concurrence.com/developer-guide/platform-api/conversations#reply-check), and [Realtime Crisis Line](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#realtime-crisis-line).

### October 14, 2026: Voice Call Changes <a href="#october-14-2026-voice-call-fixes" id="october-14-2026-voice-call-fixes"></a>

* An ElevenLabs model other than `eleven_v3*` or `eleven_v4*` (after the [retired-model remap](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#retired-elevenlabs-models)) now fails the voice session at setup, naming the id.
* Speech-recognition requests for calls and voice notes opt out of the recognition provider's model-improvement program.

See [Voice Agent](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent) and [Retired ElevenLabs Models](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#retired-elevenlabs-models).

### October 14, 2026: Integration Endpoints Declare Their Writes <a href="#october-14-2026-endpoint-write-declarations" id="october-14-2026-endpoint-write-declarations"></a>

Integration endpoints carry a new `declarations` object on create, get, list, and update. Its `writes` entry states what a successful call does (`kind`: `booking`, `cancellation`, `reschedule`, `other`, `none`, or `varies`) and how the response reports it (`success.reported_by`: `http_status`, `graphql`, or `field` with a JSON Pointer and the value it must equal). The voice and text reply checks accept "you're booked" only from a declared booking write whose response reported it, and an endpoint without `writes` never backs a booking or cancellation claim. Skills add `write_kind` for an endpoint declared `varies`, and the endpoint test response adds `wrote`. Existing endpoints that backed such claims were given matching declarations. Declare `writes` on any new scheduling endpoint. See [Integrations](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-write-declarations).

### October 14, 2026: Conversation Events Leave the Workspace Stream <a href="#october-14-2026-conversation-event-scope" id="october-14-2026-conversation-event-scope"></a>

`text.agent_message`, `text.tool_started`, and `text.background_result` are no longer sent on the unscoped workspace event stream or its replay buffer. They arrive only on `GET /v1/{workspace_id}/events/stream?conversation_id=<id>`, which now carries only that conversation's events. Workspace events such as `text.started` and call events stay on the unscoped stream. See [SSE Events](https://docs.concurrence.com/developer-guide/platform-api/conversations/sse-events#scope-to-one-conversation).

### October 14, 2026: Runs List iMessage and WhatsApp Conversations <a href="#october-14-2026-runs-channel-filter" id="october-14-2026-runs-channel-filter"></a>

The runs list now includes iMessage and WhatsApp conversations. The `channel` filter on `GET /v1/{workspace_id}/runs` and `GET /v1/{workspace_id}/runs/summary` accepts `voice`, `sms`, `whatsapp`, `email`, `web`, and `imessage`. The `text` value is removed; `?channel=text` now returns `422`. iMessage and WhatsApp runs use the authored-turn takeover that other non-voice channels use. See [Runs](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#status-mapping).

### October 14, 2026: Raw SQL Schema Discovery <a href="#october-14-2026-sql-customer-data-scope" id="october-14-2026-sql-customer-data-scope"></a>

Raw SQL through `POST /v1/{workspace_id}/insights/sql`, the MCP `sql_query` tool, the Insights Agent, dashboard panels, and trigger actions rejects a query against `information_schema` with an error that names the allowed schemas. `GET /v1/{workspace_id}/insights/schema` adds `customer_data_tables`, each of the workspace's customer-data tables and views mapped to its column types; use it instead of `information_schema`. See [Insights](https://docs.concurrence.com/developer-guide/platform-api/safety/insights#list-query-schema).

### October 14, 2026: Skill, Metric, and Evaluation Validation <a href="#october-14-2026-validation" id="october-14-2026-validation"></a>

* **Skills.** A `result_schema` must be valid JSON Schema, or create and update return `422`. With `use_structured_output: true`, it must also give `status` an enum of `success` and `failure` and stay in the supported schema subset; otherwise the write returns `422` naming the requirement. An update checks only when it sends either field.
* **Custom metrics.** Saving a new custom `ai_query` metric, or changing its type, prompt, or bounds, requires a non-empty `ai_labels` list for a categorical metric, or both `valid_range_min` and `valid_range_max` with min below max for a numerical one. Otherwise the save returns `422`. Stored metrics are not rewritten.
* **Production evals.** Create, and an update that sets `metric_key`, `eval_type`, or `active: true`, return `422` when `metric_key` is missing or is not an active `ai_query` call-intelligence metric. `expected` and `params` are size-bounded.
* **Metric catalog.** `GET /v1/{workspace_id}/metrics/catalog` leaves out built-in metrics the workspace turned off.
* **Tool tester.** `POST /v1/{workspace_id}/tools/execute` runs world tools the way a live session does, so the request `entity_id` is the bound patient and `world_confirm_patient_identity` answers that there is no caller to verify. Tools are named by catalog id (`world_*`); a bare handler name returns an unknown-tool error. Surface tools no longer run from this endpoint.

See [Metric Store](https://docs.concurrence.com/intelligence-and-analytics/metric-store) and [Production Evals](https://docs.concurrence.com/developer-guide/platform-api/safety/production-evals).

### October 14, 2026: Gap-Scanner Settings Removed <a href="#october-14-2026-gap-scanner-settings-removed" id="october-14-2026-gap-scanner-settings-removed"></a>

`GET` and `PUT /v1/{workspace_id}/settings/gap-scanner` are removed, along with their schemas. Platform SDK 0.112.0 already removed the matching methods. Remove calls to these operations. See [Connector Runner](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/connector-runner).

### October 12, 2026: Caller Verification Before Patient Context <a href="#october-12-2026-caller-verification" id="october-12-2026-caller-verification"></a>

A voice or text session whose caller matches a record by phone number, or that opens with an `entity_id`, now starts unverified. The record's demographics and clinical context reach the agent only after the caller's stated full name and date of birth match exactly one candidate record through the `world_confirm_patient_identity` tool. Repeated failures lock verification for the rest of the session. Add the tool to the Context Graph state that confirms identity. Until a graph offers it, the agent works without the record. See [Caller Verification](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#caller-verification).

### October 12, 2026: Dynamic Transfers Dial Only Approved Numbers <a href="#october-12-2026-approved-transfer-destinations" id="october-12-2026-approved-transfer-destinations"></a>

A service with dynamic forwarding (`voice_config.forwarding.forward_to` set to `null`) now transfers only to numbers in the new `forwarding.approved_destinations` map, which pairs each E.164 number with a label for what answers there, up to 50 entries. `forward_call` offers only those numbers, and any other number is refused without dialing. A dynamic service with no approved destinations does not offer `forward_call`, so its agent cannot transfer. Setting `approved_destinations` on a fixed-destination service returns `422`. Each destination must still be allowed on the channel's `allowed_forwarding_numbers`. See [Call Forwarding](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#call-forwarding).

### October 12, 2026: Calls Without a TTS Setting Speak ElevenLabs v4 Turbo <a href="#october-12-2026-default-tts-provider" id="october-12-2026-default-tts-provider"></a>

A call or voice note whose configuration names no `tts_provider` and stores no TTS setting at any level now speaks ElevenLabs `eleven_v4_turbo` with the ElevenLabs default voice, instead of Cartesia Sonic 3.6. Any stored setting keeps the call on Cartesia: a workspace `voice_id`, `tts_model`, `pronunciation_dict_id`, or `tts_config`, an agent `voice_config` with a `voice_id` or `tts_config`, or a service `tts_config`. A named `tts_provider` or a matching `language_providers` entry still decides the provider. To keep an unconfigured service on Cartesia, set its `tts_provider` to `cartesia`. See [Default TTS Model](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#default-tts-model).

### October 12, 2026: Safety Responses on Calls and Chats <a href="#october-12-2026-voice-safety-responses" id="october-12-2026-voice-safety-responses"></a>

These behaviors are now on for every service:

* **Crisis resource.** On text and platform-managed voice conversations, the agent's instructions always carry the deployment region's crisis resource, for example 988 in the US and Canada, and tell it to give that resource when a caller expresses suicidal thoughts or intent, self-harm, or an overdose. This is model guidance, so test it like any other safety instruction.
* **Spoken-reply check.** On platform-managed voice calls, a pattern check on the agent's reply blocks a claim that a booking or cancellation is done when the call's tools did not complete one, dosing or medication-change advice, and a promise to contact emergency services. The caller hears a short correction in the call's language instead. English and Spanish are covered, and a pattern check can miss or over-match a phrasing.
* **Speech recognition failure.** If the recognizer fails during a platform-managed call, the call switches once to another recognizer that supports the caller's language. When none is available, the agent apologizes and then transfers to the service's fixed forwarding destination on a phone call, or ends the call.

See [Runtime Safety](https://docs.concurrence.com/operations-and-safety/runtime-safety#control-map).

### October 12, 2026: Simulations and Test Sessions Run Tools in Simulation Mode <a href="#october-12-2026-simulation-tool-mode" id="october-12-2026-simulation-tool-mode"></a>

Simulation sessions, calls from workspace test caller numbers, and text turns from test credentials now run every tool in simulation mode. No tool call reaches an integration, a world write, or a platform function. Reads and writes alike return `{"dry_run": true, "tool": "<name>", "would_execute": true}` instead of executing. The text Playground and browser test calls still run tools live. Re-check simulation cases, evaluations, and test-number scripts that depend on real tool results. See [Write Isolation](https://docs.concurrence.com/developer-guide/platform-api/safety/simulation-coverage#write-isolation).

### October 12, 2026: Observer and Test-Call WebSocket Credentials <a href="#october-12-2026-websocket-credentials" id="october-12-2026-websocket-credentials"></a>

The Voice Agent observer (`/agent/observe/{call_sid}`) and test-call (`/agent/test-call`) WebSockets now accept a credential only in the `Sec-WebSocket-Protocol` header, as `auth, <token>`. A `?token=` query parameter is no longer read, and a connection without the `auth` subprotocol closes with `4001`. A workspace can hold up to 5 test calls at once, and starting another returns `429`. A test-call connection without `encoding=mulaw` closes with `4008`. The Platform SDK's observer helper already uses the subprotocol. See [Observer WebSocket](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#observer-websocket).

### October 12, 2026: Caller Local Time and Workspace Timezone <a href="#october-12-2026-caller-timezone" id="october-12-2026-caller-timezone"></a>

The agent's current time now follows the caller's timezone instead of always Eastern time. A session opened with an `entity_id` uses the timezone of the patient's assigned clinic when one is recorded. Otherwise it uses the new workspace `timezone`, then the deployment region's default zone, which the agent's instructions mark as a fallback. Set `timezone` to an IANA name with `PATCH /v1/workspaces/{workspace_id}`, or send `null` to clear it. Workspace reads return it. See [Workspace Timezone](https://docs.concurrence.com/developer-guide/platform-api/workspaces#workspace-timezone).

### October 12, 2026: Runs Dormant Status and Voice Start Time <a href="#october-12-2026-runs-dormant-and-start-time" id="october-12-2026-runs-dormant-and-start-time"></a>

An open text, SMS, email, or web conversation that has been idle past its channel's activity threshold now has run status `dormant` instead of `running`. A dormant run is not live, has no `ended_at`, and is not eligible for takeover. Its next turn makes it `running` again. Filter with `status=dormant`. The `live` filter still means `running` and `paused`, and Runs Summary adds a `dormant` count.

Voice runs take `started_at` and `ended_at` from the call's start and end, and sort by the call start. An unsupported `sort_by` on the run list returns `422` with the allowed values. See [Status Mapping](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#status-mapping).

### October 12, 2026: Conversation History and Paged Turns <a href="#october-12-2026-conversation-turns" id="october-12-2026-conversation-turns"></a>

Conversation detail returns each voice utterance once, and with `include_tool_calls=true` each tool call appears on the agent turn that made it. Detail adds `truncated`, which is true when a very long conversation stopped at the read limit. The new `GET /v1/{workspace_id}/conversations/{conversation_id}/turns` pages the same turns for voice or text, with `sort_by` set to `+turn_index` or `-turn_index`, `limit` up to 200, and an opaque `continuation_token`.

On text conversations, every user message now stays in history when a turn moves to a new Context Graph state, and the reply is filed under its own turn. Turn responses return the conversation's current `context_graph_state`, and the turn's output carries its state transitions. A text conversation ends only when it is closed, reaches a terminal state, or expires; a cancelled turn or an error leaves it open. See [Get Conversation Detail](https://docs.concurrence.com/developer-guide/platform-api/conversations#get-conversation-detail).

### October 12, 2026: Event Stream Scoped to One Conversation <a href="#october-12-2026-event-stream-conversation-scope" id="october-12-2026-event-stream-conversation-scope"></a>

`GET /v1/{workspace_id}/events/stream` accepts an optional `conversation_id`. With it, the live stream and its `Last-Event-ID` replay carry only events whose top-level `conversation_id` matches. Events without one, such as session-keyed text events and call events, are left out. Heartbeats and control frames are unchanged, and a stream opened without the parameter is unchanged. See [SSE Events](https://docs.concurrence.com/developer-guide/platform-api/conversations/sse-events).

### October 12, 2026: Validation Errors Omit Submitted Values <a href="#october-12-2026-validation-errors" id="october-12-2026-validation-errors"></a>

Platform API and Voice Agent `422` validation errors now return only `loc`, `msg`, and `type` for each entry, never the submitted `input` or `ctx`. A conversation `context` that does not match the service's `accepted_context` returns the same list with the offending key in `loc`, for example `["body", "context", "plan_id"]`, instead of a bare `Unprocessable Content`. A turn with no message, content, or media on a conversation that already has a turn now returns `422`. An empty `message` still starts a conversation that has no turns yet. See [Send a Turn](https://docs.concurrence.com/developer-guide/platform-api/conversations#send-a-turn).

### October 12, 2026: Simulation Runs, Cases, and Pass Rates <a href="#october-12-2026-simulation-contract" id="october-12-2026-simulation-contract"></a>

* **Pass rates.** `pass_rate` is passed divided by passed plus failed. Grading errors, pending, and skipped verdicts are counted on every rollup but stay out of the rate, and the rate is `null` when there is no passed or failed verdict.
* **Judge verdicts.** An LLM-judge verdict records `passed`, `rationale`, and `references` with no score, and `score_label` is removed from `checks`. Metric checks keep `score`.
* **Lists.** The simulation run list pages with `sort_by`, `limit`, and `continuation_token`, filters by `status`, `source`, `case_id`, `suite_id`, and `tags`, and returns `total`. The case list adds `total`, `sort_by`, and `search`. The new `GET /v1/{workspace_id}/simulations/suites/{suite_id}/cases` returns a suite's cases in one paged read, and deleting a case removes it from every suite.
* **Sessions and runs.** A step uses the session in the path, and a different body `session_id` returns `422`. Creating a session under a missing run, scoring a missing session, or completing a missing run returns `404`, and completing a finished run returns `409`. Runtime failures return `502`, and an unreachable runtime returns `503`.
* **Tags and limits.** Run and session tags that start with `suite:`, `suite_run:`, or `safety:` are set by the server, and sending one returns `422`. A workspace can have 10 simulation launches running at once. Another case, suite, benchmark, or bridge launch returns `429`.

See [Simulation Coverage](https://docs.concurrence.com/developer-guide/platform-api/safety/simulation-coverage).

### October 12, 2026: Metric List and Trends <a href="#october-12-2026-metric-list-and-trends" id="october-12-2026-metric-list-and-trends"></a>

`GET /v1/{workspace_id}/metrics` now returns one latest row per metric series. A categorical or boolean period is folded into one row whose `distribution` counts each value. The list pages with `sort_by` (`-period_start` by default, or `+metric_key`), `limit`, and an opaque `continuation_token`, and `offset` is removed. Trends cover the whole requested window. An unknown metric key returns `404`, `service_id` and `run_id` must be UUIDs, and a `date_from` after `date_to` returns `422`. Creating or updating a production eval returns `422` when its `metric_key` is missing or is not an active AI-query call-intelligence metric, and the metric catalog leaves out built-ins the workspace turned off. See [Query Surface](https://docs.concurrence.com/intelligence-and-analytics/metric-store#query-surface).

### October 12, 2026: Quality Metrics Judged on Transcripts <a href="#october-12-2026-quality-metrics-on-transcripts" id="october-12-2026-quality-metrics-on-transcripts"></a>

For production conversations, the 11 standard quality metrics and custom AI-query `call_intelligence` metrics judge the conversation's transcript, up to its newest 32,000 characters. The standard judges answer from the metric's fixed labels or score range and can abstain, which leaves the value `null`. Values already computed are not rescored, so trends can shift at October 12. See [Standard Quality](https://docs.concurrence.com/intelligence-and-analytics/metric-store#standard-quality).

### October 12, 2026: Version Validation and Server-Side Filters <a href="#october-12-2026-config-validation-and-filters" id="october-12-2026-config-validation-and-filters"></a>

* An agent or Context Graph version path that is not `latest` or a positive 32-bit integer returns `422`, including `0` and negative numbers.
* Creating or updating a service now checks its version sets the same way the version-set upsert does: a name must match `[A-Za-z0-9_-]{1,40}` (`422`), and each pinned version must exist for the service's agent and Context Graph (`404`). Changing a service's agent or graph checks its stored pins against the new target.
* Pushing an agent or Context Graph version updates the parent's `updated_at`, so `sort_by=-updated_at` reflects the newest version.
* `GET /v1/{workspace_id}/services` filters by `agent_id` and `context_graph_id`, and `GET /v1/{workspace_id}/api-keys` filters by `role` and by `search` on the key name or key ID. Both apply before pagination.
* Tool resolution for a service that is not in the workspace returns `404`.

See [Services](https://docs.concurrence.com/developer-guide/platform-api/workspaces/services).

### October 12, 2026: Platform Claude Calls Run on the 5.5 Models <a href="#october-12-2026-claude-5-5-platform" id="october-12-2026-claude-5-5-platform"></a>

Platform API Claude calls now use each tier's 5.5 model, including the skill tester, trigger actions, simulation callers and judges, production eval judges, and the Insights Agent. A skill created without a `model` now stores `claude-sonnet-5-5`. The skill tester runs a retired pin on its tier's 5.5 model, so a test matches the same skill in a conversation. Stored pins are not rewritten. See [Skills](https://docs.concurrence.com/developer-guide/platform-api/workspaces/skills#execution-configuration).

### October 12, 2026: Integration URLs Must Be Public HTTPS <a href="#october-12-2026-integration-public-https" id="october-12-2026-integration-public-https"></a>

An integration's `base_url`, `token_url`, and `exchange_url` must now be an HTTPS URL on a public host. Create and update return `422` for any other URL, and a call to a stored integration whose host is not public is refused without sending a request. Integration calls and token requests no longer follow redirects, so a `3xx` response is an error. Point each URL at its final address. See [Integrations](https://docs.concurrence.com/developer-guide/platform-api/integrations).

### October 12, 2026: PHI Access Audit Entries <a href="#october-12-2026-phi-access-audit" id="october-12-2026-phi-access-audit"></a>

PHI read audit entries now keep the resource identifier from the request, including call IDs and other external identifiers, along with the matched route and outcome. An authenticated request that fails before a response starts is recorded as a failure with no HTTP status. See [PHI Access Logging](https://docs.concurrence.com/developer-guide/platform-api/safety#phi-access-logging).

### October 10, 2026: Data-Source Sync Removed <a href="#october-10-2026-connector-runner-retired" id="october-10-2026-connector-runner-retired"></a>

Data-source sync, the gap scanner, scheduled `outbound_task` dispatch, and connector write-back are removed. The Platform API removes:

* `POST /v1/{workspace_id}/data-sources/{data_source_id}/sync`
* `POST /v1/{workspace_id}/settings/gap-scanner/preview` and `POST /v1/{workspace_id}/settings/gap-scanner/scan`
* `GET /v1/{workspace_id}/health/sync`
* `health_status`, `last_sync_*`, and `is_stale` on data sources, the connector status fields on pipeline status, `last_poll` and `last_sync_*` on the pipeline source list and overview, `last_poll_at`, `last_change_at`, and `sync_healthy` on FHIR status, and the `pipeline` section of the workspace health snapshot

Data-source records, sync history, and the pipeline reads over stored events remain. Platform SDK 0.111.0 removes the matching methods. Remove calls to the removed operations, and place outreach calls through the [Calls API](https://docs.concurrence.com/developer-guide/platform-api/conversations/calls). See [Connector Runner](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/connector-runner).

### October 10, 2026: Search Runs <a href="#october-10-2026-runs-search" id="october-10-2026-runs-search"></a>

`GET /v1/{workspace_id}/runs` accepts `search`, a case-insensitive substring match on a conversation run's entity name, caller ID, or phone number, applied before pagination. Framework runs carry none of these and are left out while searching. See [Search Runs](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#search-runs).

### October 10, 2026: Pre-3.6 Cartesia Pins Speak Sonic 3.6 <a href="#october-10-2026-pre-3-6-cartesia-pins" id="october-10-2026-pre-3-6-cartesia-pins"></a>

A call whose resolved Cartesia model is a Sonic 3 or Sonic 3.5 id now speaks Sonic 3.6 (`sonic-3.6-2026-08-27`). This covers `sonic-3`, `sonic-3-preview`, `sonic-3-2026-01-12`, `sonic-3.5`, and `sonic-3.5-2026-05-04`, alongside the retired models from October 9. `sonic-3.6`, `sonic-preview`, and ids the platform does not recognize are sent as stored. Voice and other settings are unchanged, and stored configuration is not rewritten. See [Retired Cartesia Models](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#retired-cartesia-models).

### October 9, 2026: Claude Pins Run on the 5.5 Models <a href="#october-9-2026-claude-5-5-pins" id="october-9-2026-claude-5-5-pins"></a>

In live conversations, a skill or a service model preference pinned to a retired Claude model now runs on the current model of the same tier: `claude-sonnet-5` and `claude-sonnet-4-6` run on `claude-sonnet-5-5`, `claude-opus-4-8` runs on `claude-opus-5-5`, and `claude-haiku-4-5` runs on `claude-haiku-5-5`. Stored configuration is not rewritten, and skill reads still return the stored id. A skill created without a `model` is still stored as `claude-sonnet-5`, so it runs on `claude-sonnet-5-5`. The standalone skill tester runs the stored id, so a test result can differ from the same skill in a conversation.

On `claude-sonnet-5-5` and `claude-opus-5-5`, a skill round that returns no tool call or only narration is retried once, in conversations and in the tester. A skill whose last round stops at the token limit or on a refusal without any text returns a failed result, on every model. Re-test skills that relied on the old models, and update stored pins to the current ids so the configuration shows what runs. See [Skills](https://docs.concurrence.com/developer-guide/platform-api/workspaces/skills#execution-configuration).

Since October 12, a skill created without a `model` stores `claude-sonnet-5-5`, and the skill tester also runs retired pins on the 5.5 models. See [Platform Claude Calls Run on the 5.5 Models](#october-12-2026-claude-5-5-platform).

### October 9, 2026: Voice Configuration Model Allowlists <a href="#october-9-2026-voice-config-model-allowlists" id="october-9-2026-voice-config-model-allowlists"></a>

Service `voice_config` now accepts only current vendor models. `realtime.model` accepts `gpt-realtime-2.1`, the default, and `gpt-realtime-2.1-mini`; `gpt-realtime-1.5` and `gpt-realtime-2` return `422`. `realtime.transcription.model` accepts only `gpt-transcribe`, which is also its default; `whisper-1`, `gpt-4o-mini-transcribe`, and `gpt-4o-transcribe` return `422`. `realtime.reasoning_effort` is accepted with either allowed model.

The service `voice_config.tts_model` field is removed. A request that still sends it is accepted, but the value is ignored, and a stored value no longer selects a model. To pin a Cartesia model on a service, set `tts_config.model`. Without a pin, Cartesia calls use the default, Sonic 3.6. See [Voice Configuration](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#realtime-session-models).

### October 9, 2026: Tool Turns and Engage Reasoning Effort <a href="#october-9-2026-tool-turn-reasoning-effort" id="october-9-2026-tool-turn-reasoning-effort"></a>

On `gpt-5.4`, `gpt-5.5`, `gpt-5.6`, and `gpt-6` engage models, a text turn that offers the model tools is sent at `reasoning_effort` `none`, which is the only effort those models accept with tools. A stored effort above `none` is overridden on tool turns, and a turn without tools keeps the configured effort.

Creating or updating a service, or upserting a version set, now returns `422` when an engage model preference for one of those models sets `reasoning_effort` above `none` in `params` or `experience_controls`. The message names the version set, the preference, and the model. Clear the effort or set it to `none` before saving. Existing version sets still load, but the next save of one fails until the effort is fixed. See [Services](https://docs.concurrence.com/developer-guide/platform-api/workspaces/services#tool-turns-and-reasoning-effort).

### October 9, 2026: A Model Rejection Fails the Text Turn at Once <a href="#october-9-2026-model-rejection-fails-fast" id="october-9-2026-model-rejection-fails-fast"></a>

When the model rejects a text turn with a 4xx, the turn fails right away. A JSON turn returns `502` with `"Model rejected the request (HTTP <status>)"`. A streamed turn ends with a terminal `error` frame carrying that message, `code` `upstream_error`, `retryable` `false`, and `status_code` `502`. Any other failure inside the turn returns `500` `"Agent response failed"`, or the equivalent non-retryable frame. The upstream model's response text is not included.

Both failures are non-retryable: a retry with the same key replays the failure. Fix the configuration or content that the model rejected, then send a new turn. See [Streaming Turns (SSE)](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior).

### October 9, 2026: Integration Endpoint Schemas Follow the Tool Subset <a href="#october-9-2026-integration-endpoint-tool-subset" id="october-9-2026-integration-endpoint-tool-subset"></a>

Creating or updating an integration endpoint now returns `422` when its `input_schema` falls outside the tool-schema subset that skills already follow: a top-level `anyOf`, `oneOf`, `allOf`, or `$ref`, a root `type` other than `object`, or an array property without `items`. The message names the construct.

Existing endpoints are not rewritten, and an update that leaves `input_schema` out is unaffected. An endpoint stored with an unsupported schema is still unavailable to the agent until its `input_schema` is reshaped, for example by dropping a root `anyOf` and describing which parameters go together in the endpoint `description`. See [Integrations](https://docs.concurrence.com/developer-guide/platform-api/integrations#endpoint-input-schemas).

### October 9, 2026: Invoke Argument Errors Return 422 <a href="#october-9-2026-invoke-argument-422" id="october-9-2026-invoke-argument-422"></a>

`POST /v1/{workspace_id}/functions/{function_name}/invoke` and `POST /v1/{workspace_id}/data_queries/{query_id}/invoke` now return `422` when the arguments do not fit the declared parameters: an unknown argument, a missing required argument, or, for functions, a value that cannot be converted to its declared type. Execution failures still return `503`. Fix the arguments instead of retrying a `422`. The MCP `invoke_platform_function` tool returns these errors as an error result. A function test still reports an argument error as `status` `fail`. See [Invoke a Function](https://docs.concurrence.com/developer-guide/platform-api/functions#invoke-a-function).

### October 9, 2026: World Entity List Without a Type <a href="#october-9-2026-entity-list-without-type" id="october-9-2026-entity-list-without-type"></a>

`GET /v1/{workspace_id}/world/entities` without `entity_type` returns entities again. In some workspaces it returned `500`. Workspace-level records that have no entity ID are no longer included in the list or its total. See [List Entities](https://docs.concurrence.com/developer-guide/platform-api/data-world-model#list-entities).

### October 9, 2026: Realtime Voice Calls on Usage Meters <a href="#october-9-2026-realtime-call-metering" id="october-9-2026-realtime-call-metering"></a>

Calls on the `gpt_realtime` voice runtime record the voice minutes and call count meters when they end, like calls on the platform-managed runtime. Calls that ended before this release are not backfilled, and tool counts for these calls are not reported on the action count meter. Meter projection is asynchronous. See [Billing Meters Are Separate](https://docs.concurrence.com/intelligence-and-analytics/metric-store#billing-meters-are-separate).

### October 9, 2026: ElevenLabs v4 Turbo Is the Default and Retired Pins Move to It <a href="#october-9-2026-elevenlabs-v4-turbo" id="october-9-2026-elevenlabs-v4-turbo"></a>

ElevenLabs calls whose resolved configuration stores no model now use `eleven_v4_turbo` instead of `eleven_flash_v2_5`. A stored pin of `eleven_flash_v2_5`, `eleven_flash_v2`, `eleven_turbo_v2_5`, `eleven_turbo_v2`, `eleven_multilingual_v2`, `eleven_multilingual_v1`, or `eleven_monolingual_v1` also moves to `eleven_v4_turbo`. This includes `eleven_multilingual_v2` pins saved from the Developer Console's ElevenLabs settings. The change applies to live calls and to audio-turn voice notes. Stored configuration is not rewritten, and the voice is unchanged.

On `eleven_v4_turbo`, only `stability` is applied. Configured or emotion-driven `style` and `speed`, and stored `similarity_boost` and `use_speaker_boost`, have no effect. Review ElevenLabs services that rely on speed or style, and listen to a test call before relying on the new default. See [Default TTS Model](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#default-tts-model).

### October 9, 2026: OpenAI Speech Recognition Uses gpt-transcribe <a href="#october-9-2026-openai-stt-gpt-transcribe" id="october-9-2026-openai-stt-gpt-transcribe"></a>

When a call's speech recognition routes to OpenAI, for example through a workspace `stt_provider` of `openai` or for a caller language the default recognizer does not support, the session now uses `gpt-transcribe`. Keyterms are sent as a keyword list, with `<`, `>`, and line breaks removed and duplicates dropped regardless of case, and the caller language is sent as a language hint. See [Speech Recognition](https://docs.concurrence.com/developer-guide/platform-api/workspaces#speech-recognition).

### October 9, 2026: A Close Ends Every In-Flight Text Turn <a href="#october-9-2026-mid-turn-close" id="october-9-2026-mid-turn-close"></a>

A close that lands while a text turn is running now ends that turn shortly after the close on every path. A JSON turn returns `409` `"Conversation is closed"`. A streamed turn ends with the non-retryable `Conversation is closed` frame, including when token streaming is off.

Streamed turns also end with typed terminal frames. A reply timeout is the only retryable one (`code` `upstream_error`, `status_code` `504`), because the turn may still be running. A turn that ended without a reply gets a non-retryable frame (`status_code` `500`); a retry with the same key replays it, so send a new turn instead. A turn that streamed tokens and then replied with no message sends an empty `message` before `done`. See [Streaming Turns (SSE)](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior).

### October 9, 2026: Keepalives on Streamed Turns and Sessions <a href="#october-9-2026-stream-keepalives" id="october-9-2026-stream-keepalives"></a>

Streamed text turns now carry an SSE comment line, `: ping - <timestamp>`, every 15 seconds. This applies to `POST .../turns` with `Accept: text/event-stream` and to `POST .../turns/stream`. The `sessions/connect` WebSocket sends `{"event": "ping", "data": {}}` whenever 15 seconds pass with nothing else sent, during and between turns. Both keep proxies and load balancers from closing a quiet connection, for example while a tool runs.

Standard SSE parsers skip comment lines. A hand-written SSE parser must skip them too, and a WebSocket client must ignore the `ping` event and any other event it does not recognize. The `ping` frame needs no reply and does not reset the session's 5-minute inbound idle timer. See [Streaming Turns (SSE)](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior) and [Sessions](https://docs.concurrence.com/developer-guide/platform-api/platform-api/sessions#ping).

### October 9, 2026: Retired Cartesia Models Speak Sonic 3.6 <a href="#october-9-2026-retired-cartesia-models" id="october-9-2026-retired-cartesia-models"></a>

When a call's resolved Cartesia model is one that Cartesia has retired or is retiring, the call uses Sonic 3.6 (`sonic-3.6-2026-08-27`). This covers `sonic-2`, `sonic-turbo`, `sonic-3-2025-10-27`, and older Sonic models. It includes a service `tts_model` of `sonic-turbo`. Voice, speed, volume, tone, and language are unchanged, and stored configuration is not rewritten. Replace retired pins with a current model. See [Retired Cartesia Models](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#retired-cartesia-models).

### October 9, 2026: Live Call Context Validation Errors Omit Values <a href="#october-9-2026-call-context-422" id="october-9-2026-call-context-422"></a>

A malformed body sent to `POST /agent/calls/{call_sid}/context` now returns a `422` whose `detail` entries carry only `loc`, `msg`, and `type`. The response no longer echoes submitted values, such as context values, back to the caller. Do not parse `input` or `ctx` from these errors. See [Set Context on a Live Voice Call](https://docs.concurrence.com/developer-guide/guides/live-call-context).

### October 9, 2026: FHIR Bundle Builder Removed and Inert Skill Fields <a href="#october-9-2026-fhir-build-bundle-removed" id="october-9-2026-fhir-build-bundle-removed"></a>

`POST /v1/{workspace_id}/fhir/build-bundle` is removed from the Platform API. Build the FHIR `collection` Bundle in your own code and submit it with `POST /v1/{workspace_id}/fhir/import`.

Skill requests accept `enable_citations` and `checkpoint_enabled`, and skill reads return them, but the runtime does not read either field. See [Skills](https://docs.concurrence.com/developer-guide/platform-api/workspaces/skills#execution-configuration).

### October 8, 2026: Set Context on a Live Voice Call <a href="#october-8-2026-live-call-context" id="october-8-2026-live-call-context"></a>

A trusted backend can now set verified context on a live voice call with `POST /agent/calls/{call_sid}/context` on the agent engine host. Tools bound to the key receive the value server-side, and the model never sees it. The request needs a workspace API key with `Conversation:CreateForPrincipal`, and every key must be declared in the service's `accepted_context`. Each key is set once per call: the same value returns `200 unchanged`, and a different value returns `409`.

On voice calls, a tool bound to a declared key that the call did not start with now refuses to run until that key is set, and a companion-skill input bound to such a key is refused. Review voice services that bind optional context keys. See [Set Context on a Live Voice Call](https://docs.concurrence.com/developer-guide/guides/live-call-context).

### October 8, 2026: Closing a Conversation Ends Its Streamed Turn <a href="#october-8-2026-closed-conversation-stream-frame" id="october-8-2026-closed-conversation-stream-frame"></a>

When a conversation is closed while a streamed text turn is running, the stream ends with a terminal `error` frame: `"Conversation is closed"`, `code` `upstream_error`, `retryable` `false`, and `status_code` `409`. Treat the frame as terminal and do not retry. See [Streaming Turns (SSE)](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-behavior).

### October 8, 2026: Sonic 3.6 Is the Default Cartesia Model <a href="#october-8-2026-sonic-3-6-default" id="october-8-2026-sonic-3-6-default"></a>

Cartesia calls whose resolved configuration stores no model now use Sonic 3.6 (`sonic-3.6-2026-08-27`) instead of Sonic 3.5. A stored model still wins. A matching per-language entry without its own `config.model` also moves to the new default. On Sonic 3.6, pronunciation dictionary entries match any capitalization unless they set `case_sensitive`. See [Voice Configuration](https://docs.concurrence.com/developer-guide/platform-api/workspaces/voice-configuration#default-tts-model).

### October 8, 2026: Interrupted Realtime Transfers <a href="#october-8-2026-interrupted-realtime-transfers" id="october-8-2026-interrupted-realtime-transfers"></a>

On the `gpt_realtime` voice runtime, a `forward_call` from a response the caller interrupted still runs when its arguments arrived complete. Other tool calls from an interrupted response are not executed, and a superseded tool result is not spoken after the caller interrupts. See [Voice Agent](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#context-graph-engine).

### October 8, 2026: Scribe Carried Values and Provider Edits <a href="#october-8-2026-scribe-carried-values" id="october-8-2026-scribe-carried-values"></a>

`carry_forward_available` entries on a note read now include the carried display `value` when the EHR attributes one, so the editing view can show what the EHR would carry. Treat it as chart content, like the note body. At finalize, a carried field the provider edited is now written with the edit, and `field_dispositions` reports it as `written_from_clinician_edit` with `source` `clinician_edit`. A carried field the provider left untouched is still omitted so the EHR carries its prior value. See [Scribe Artifacts](https://docs.concurrence.com/developer-guide/platform-api/scribe/artifacts#ehr-writeback-fields).

### October 7, 2026: Email Inbound Modes <a href="#october-7-2026-email-inbound-modes" id="october-7-2026-email-inbound-modes"></a>

Email use cases replace `accepts_cold_inbound` with `inbound_mode`: `send_only`, `replies_only`, or `all_inbound`. Existing use cases are now `replies_only`, which keeps their thread-only behavior. Sending needs only the sending DNS records; a receiving mode needs the inbound MX record verified, or the request returns `409`. Inbound content-part URLs are issued for the use case's own environment and region, so fetch them exactly as given. See [Email](https://docs.concurrence.com/channels/email#use-cases-and-sender-identities) and [Channel Manager](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager#send-and-reconcile-email).

### October 7, 2026: Scribe Writeback Fields and Session Timezone <a href="#october-7-2026-scribe-writeback-fields" id="october-7-2026-scribe-writeback-fields"></a>

Note reads and finalize responses report `writeback_status`. When EHR writeback is enabled, reads can add `carry_forward_available` and `clinician_name`, finalize returns `field_dispositions`, and a failed writeback rolls the finalize back with `ehr_writeback_failed`. Session create now requires the provider's IANA `timezone`, and sessions report `local_timezone`. The generic note templates and the `medical` visit type are retired, and in-person template variants follow the appointment's modality. See [Scribe Artifacts](https://docs.concurrence.com/developer-guide/platform-api/scribe/artifacts#ehr-writeback-fields) and [Scribe Sessions](https://docs.concurrence.com/developer-guide/platform-api/scribe/sessions#create-an-in-person-session).

### October 7, 2026: Realtime Bindings Resolve Across the Graph <a href="#october-7-2026-realtime-graph-wide-bindings" id="october-7-2026-realtime-graph-wide-bindings"></a>

On the realtime voice runtime, context bindings now resolve across the whole Context Graph, because a realtime call stays in its initial state. When states bind the same parameter differently, the initial state wins. See [Supported Tool Paths](https://docs.concurrence.com/developer-guide/guides/conversation-context#supported-tool-paths).

### October 6, 2026: Voice Session Injection and Test-Call Workspace <a href="#october-6-2026-voice-session-injection-auth" id="october-6-2026-voice-session-injection-auth"></a>

Workspace API keys can't inject session events directly; use the Platform session injection operation. The `/test-call` WebSocket now always runs in the credential's workspace and closes with `4003` when `workspace_id` names another workspace. See [Session Event Injection](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#session-event-injection).

### October 5, 2026: Outbound Call Idempotency <a href="#october-5-2026-outbound-call-idempotency" id="october-5-2026-outbound-call-idempotency"></a>

`POST /v1/{workspace_id}/calls/outbound` claims the `idempotency_key` before dialing. A retry while the first request is still placing the call, or the same key sent for a different call, returns `409`. A failed attempt releases the key, so a retry with the same key places the call. `503` now means the call could not be placed; retry with the same key. See [Calls](https://docs.concurrence.com/developer-guide/platform-api/conversations/calls#idempotency).

### October 2, 2026: Token Streaming on Text Turns <a href="#october-2-2026-token-streaming-on-text-turns" id="october-2-2026-token-streaming-on-text-turns"></a>

Streamed turns on an existing text conversation emit `token` events while the agent writes its reply. Tool-call events for the turn can arrive after its `token` events, before `message`.

Treat `token` text as a preview: replace it with the `message` text when that arrives, and do not append both. Tool calls can run before the first `token`, so keep a pending indicator until the first `token` or `message` event. See [Streaming Turns (SSE)](https://docs.concurrence.com/developer-guide/platform-api/conversations#streaming-turns-sse).

### October 2, 2026: Workspace Query String Literals <a href="#october-2-2026-workspace-query-literals" id="october-2-2026-workspace-query-literals"></a>

Workspace table queries now run the statement as written. A colon sequence inside a string literal, such as `:true` in `'{"a":true}'`, is passed through as literal text instead of being read as a bind parameter. The operation takes no bind parameters, so write values directly into the SQL text. See [Workspace Tables](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/workspace-tables#sql-validation-rules).

### October 2, 2026: Runs Service Filter and SMS Thread Context <a href="#october-2-2026-runs-service-filter" id="october-2-2026-runs-service-filter"></a>

`GET /v1/{workspace_id}/runs` accepts repeated `service_id` values, up to 100, applied before pagination. Historical framework runs have no stored service and are excluded when the filter is set. Separately, the managed SMS registered-content check reads recent messages in the same thread as context for short replies; the message itself must still fit the registration. See [Runs](https://docs.concurrence.com/developer-guide/platform-api/conversations/runs#filter-by-service) and [SMS](https://docs.concurrence.com/channels/sms).

### September 28, 2026: Intake Document Tags <a href="#september-28-2026-intake-document-tags" id="september-28-2026-intake-document-tags"></a>

Document uploads accept `doc_metadata`, a JSON-encoded map of string tags that links a document to its subject. Tags are set at document creation, apply to every version, and make byte-identical deduplication subject-aware. See [Customer Data Intake](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/intake#tag-a-document-with-its-subject).

### September 27, 2026: Voice Forwarding Allowlists <a href="#september-27-2026-current-source-and-contract-review" id="september-27-2026-current-source-and-contract-review"></a>

Voice use cases require approved forwarding destinations in `allowed_forwarding_numbers`. An empty list denies forwarding; a destination outside the list returns `422 forwarding_number_not_allowed`. Ordinary callee dialing and media streams are unaffected.

Arrange approved destinations with the provisioning owner and test each transfer path. When announced, the public schema did not yet expose this field; it now appears on voice use-case requests and reads. See [Channel Manager](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager).

### September 25, 2026: Structured Scribe Note Edits

The Scribe note-update request removes the deprecated `body` input. Save the complete `structured` document with `base_version`, retain the returned version, and reconcile `409 version_conflict` before retrying. As of September 25, the public schema and published SDK 0.14.0 still contained older types (Scribe SDK 0.16.0 and later use the structured request); use the structured request described in [Artifacts](https://docs.concurrence.com/developer-guide/platform-api/scribe/artifacts#save-an-edited-note).

Finalization checks the reviewed version and can submit a note with missing clinical fields. Provider review remains required before submission.

### September 24, 2026: iMessage Send and Opt-Out Controls

Before a contact's first reply to the selected line, managed iMessage limits messages to 300 characters, excludes media, links, phone numbers, and email addresses, and stops after six recorded sent/delivered messages. Sender selection prefers a line the contact has replied to, then the most recently used line. Setup-wide opt-outs block further sends; the recipient can text `START` to opt back in. Follow [Channel Manager](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager) for setup, consent, suppression, and delivery requirements.

### September 24, 2026: Voice Participant Audio

Audio forks require the participant to be joined to the conference. Requests for unjoined or departed participants, and repeated fork requests, return a conflict. Use `stream_context` for the fork's application context. See [Voice Call Controls](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager#control-voice-calls).

### September 23, 2026: Scribe Maintenance Responses

Scribe HTTP requests can return `503` with `Retry-After` during maintenance. New streaming attachments can close with code `1013`; the maintenance gate leaves existing attachments connected. Honor the retry delay, retain the session identifier, and reconnect through the supported allocation and ticket flow. Read the current note version before retrying an uncertain edit or finalization. See [Scribe Error Handling](https://docs.concurrence.com/developer-guide/platform-api/scribe#error-handling).

### September 22, 2026: Context Binding Aliases

`context_binding_aliases` maps a tool parameter to a differently named conversation-context key. The runtime fills that parameter and hides it from the model's tool schema. A missing alias source rejects execution, even when the model supplies a value or the parameter has a default. See [Conversation Context](https://docs.concurrence.com/developer-guide/guides/conversation-context).

### September 21, 2026: Skill Inputs for Integration Tools

Skills can pass parent inputs into integration-tool parameters through `skill_input_bindings`. Integration headers can use an exact `$param.name` binding. Configure both the skill input and its integration reference; passing context into the skill alone does not bind the sub-tool. See [Skills](https://docs.concurrence.com/developer-guide/platform-api/workspaces/skills#bind-skill-inputs-to-integration-tools).

### September 18, 2026: Service-Scoped Memory

Define memory dimensions for a service and identify the conversation's memory subject with `memoryid`. The dimension-creation operation appends definition versions; completed eligible sessions produce observations, dimension views, and a combined model. Processing supports one memory subject per conversation and requires provisioned processing and readers.

Configure a reader tool to use the results in later conversations. This path remains separate from person enrichment and existing recall. See [Service-Scoped Memory](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/service-memory).

### September 18, 2026: Companion-Skill Context and Participant Cancellation

Conversation context bindings now fill companion-skill inputs, including background dispatch. See [Supported Tool Paths](https://docs.concurrence.com/developer-guide/guides/conversation-context#supported-tool-paths).

Deleting a voice participant cancels a ringing leg. Repeating deletion for a participant that has already left completes without another removal attempt. See [Channel Manager](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager).

### September 16, 2026: Text Context and Voice Transcripts

Text initialization preserves effective channel context for bound tool parameters and re-derives the channel address when restoring a session. A channel address remains separate from verified identity. See [Reserved Channel Identity](https://docs.concurrence.com/developer-guide/guides/conversation-context#reserved-channel-identity).

Separate post-call transcript verification and accuracy fields are retired. Remove dependencies on those fields; retained analysis settings no longer run the former automatic scoring or recognition-suggestion pipeline. See [Call Intelligence](https://docs.concurrence.com/intelligence-and-analytics/intelligence/call-intelligence).

### September 14, 2026: Intake-Source Deletion

Remove an intake-source registration with the public delete operation. The operation requires write permission, records the deletion, and retains imported data. Handle coordination conflicts before retrying. See [Intake Sources](https://docs.concurrence.com/developer-guide/platform-api/data-world-model/intake-sources#remove-a-source-registration).

<details>

<summary>Platform: Usage, Cost, and Voice Contracts (September 9–15, 2026)</summary>

### Usage, Cost, and Voice Contracts <a href="#usage-cost-and-voice-contracts" id="usage-cost-and-voice-contracts"></a>

Usage and cost reporting gains dedicated APIs, alongside updates to call identifiers, retained Realtime history, and phone-number validation. Access and workspace enablement requirements apply as described below.

* **Usage and calculated LLM cost:** `/usage`, staff-only `/cost`, and customer `/usage-cost/overview`, `/usage-cost/models`, and `/usage-cost/excluded` replace the removed cost-to-serve interface for applicable inference reporting. Customer usage-and-cost reads require a signed-in identity user and workspace enablement. Reports use inclusive date ranges, not closed months. Handle partial pricing and the overview's HTTP `200` with `data_status: "failed"` when no calculation covers the period. There is no replacement infrastructure-allocation report. See [Cost to Serve](https://docs.concurrence.com/developer-guide/platform-api/platform-api/cost-to-serve).
* **Opaque call identifiers:** the current voice path can return a UUID-shaped platform reference in `call_sid`. Preserve the string without requiring a carrier prefix or using it directly with a carrier API. Keep it distinct from `run_id`. See [Calls](https://docs.concurrence.com/developer-guide/platform-api/conversations/calls).
* **Realtime history:** the `gpt_realtime` path retains completed transcripts and tool calls in conversation order, with incremental persistence and a completion retry. This does not establish complete history, recordings, or quality analysis. See [Voice Agent](https://docs.concurrence.com/developer-guide/platform-api/conversations/voice-agent#call-record-and-persistence).
* **Phone identity:** valid inbound numbers are normalized to E.164; withheld, anonymous, invalid, and non-phone origins supply no phone identity for automatic `channel-id` filling. Outbound runtime validation now checks number validity beyond string formatting. See [Reserved Channel Identity](https://docs.concurrence.com/developer-guide/guides/conversation-context#reserved-channel-identity).

</details>

<details>

<summary>Platform: Conversation Context and Tool Bindings (September 14, 2026)</summary>

### Conversation Context and Tool Bindings <a href="#conversation-context-and-tool-bindings" id="conversation-context-and-tool-bindings"></a>

Configure service-level context and bind application values to tool parameters. Check the [current runtime coverage](https://docs.concurrence.com/developer-guide/guides/conversation-context#supported-tool-paths) when enabling this feature.

#### What Changed <a href="#what-changed" id="what-changed"></a>

Services declare `accepted_context` schemas for string and number values supplied in a conversation's start-time `context` map. Context Graph `context_bindings` hide matching tool parameters from the model and fill them at dispatch on the supported action-state direct-tool path. Outbound text and voice start requests also forward context after service validation.

#### Compatibility and Required Actions <a href="#compatibility-and-required-actions" id="compatibility-and-required-actions"></a>

Update service schemas with `PUT /v1/{workspace_id}/services/{service_id}`; a supplied list replaces the previous one. Coordinate required keys with callers, match context keys to tool parameter names exactly, and publish and select the revised Context Graph version. Follow [Pass Context to Tool Parameters](https://docs.concurrence.com/developer-guide/guides/conversation-context) for setup and verification.

**Later September 14 update:** Direct-tool dispatch now carries the binding from the state where the call starts, including decision and data-collection states.

</details>

## August 2026

<details>

<summary>Platform: WhatsApp Use Cases (August 2026)</summary>

#### WhatsApp Use Cases <a href="#whatsapp-use-cases" id="whatsapp-use-cases"></a>

{% hint style="info" %}
**Provisioning scope.** This entry describes managed channel provisioning. It does not expose use-case creation or inventory through the current public workspace Platform API. Complete provisioning with Amigo, then use the service-binding contract linked above.
{% endhint %}

WhatsApp phone numbers can now be bound to use cases through the existing use case endpoints. A WhatsApp use case registers a specific phone number from a WhatsApp setup for Cloud API messaging and configures an inbound-turn webhook, following the same lifecycle as SMS, email, and iMessage use cases.

**What changed:**

* **WhatsApp channel on use case endpoints.** The create, get, list, update, and delete use case endpoints now accept `whatsapp` as a channel value. Creating a WhatsApp use case binds a phone number from a WhatsApp setup, verifies its readiness, registers it for Cloud API use, and provisions a webhook signing secret.
* **One use case per phone number.** Each WhatsApp phone number can be bound to exactly one active use case. Attempting to bind an already-active number returns a 409 conflict.
* **Phone number registration and deregistration.** Creating a use case registers the phone number for Cloud API messaging. Deleting the use case deregisters it. The phone number must be verified and disconnected (not already registered under another provider) before it can be bound.
* **Webhook secret lifecycle.** WhatsApp use cases receive a signing secret at creation, support secret rotation through the existing rotate endpoint, and re-mint the secret when the webhook URL is updated.
* **Setup deletion requires no active use cases.** A WhatsApp setup cannot be deleted while it has active use cases. Delete the use cases first.
* **Phone number details in responses.** Use case responses include the phone number in E.164 format and the platform-assigned phone number identifier, in addition to the webhook URL and setup reference.

**What you need to do:**

* **Create use cases for WhatsApp numbers.** After completing WhatsApp setup, bind individual phone numbers to use cases to register them for messaging and configure inbound-turn delivery.
* **Delete use cases before deleting a WhatsApp setup.** The platform now enforces that all use cases under a setup are removed before the setup itself can be deleted.
* **Review the** [**Channel Manager**](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager) **guide** for the current provisioning boundary.

</details>

<details>

<summary>Platform: WhatsApp Setup Surface (August 2026)</summary>

#### WhatsApp Setup Surface <a href="#whatsapp-setup-surface" id="whatsapp-setup-surface"></a>

{% hint style="info" %}
**Provisioning scope.** Setup and provider onboarding use the managed channel authorization boundary. They are not operations in the workspace Platform OpenAPI reference. The current [Channel Manager guide](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager) explains the customer integration boundary.
{% endhint %}

The Platform API now supports creating, reading, and deleting WhatsApp setups through Meta's Cloud API. WhatsApp onboarding follows a two-phase activation lifecycle where the platform creates the setup record and returns a signup URL, then Meta notifies the platform when the customer completes signup.

**What changed:**

* **WhatsApp setup endpoints.** Three new endpoints - create, get, and delete - manage the WhatsApp setup lifecycle. Create registers a customer's business identity and returns Meta's Hosted Embedded Signup URL. Get returns the setup state, including whether the business account has been activated. Delete tears down credentials and webhook subscriptions.
* **Two-phase activation.** Setups are created in a pending state. Once the customer completes Meta's Hosted Embedded Signup, the platform automatically provisions credentials and activates the channel. Callers poll the get endpoint to check activation status.
* **Webhook integration.** The platform receives and validates account update notifications from Meta. Unrecognized or duplicate events are accepted silently to prevent retry storms.
* **New OAuth2 scopes.** Three scopes control access: `whatsapp-setup:create`, `whatsapp-setup:read`, and `whatsapp-setup:write`.
* **One setup per business portfolio.** Creating a second active setup for the same Meta business portfolio returns a 409 conflict.

**What you need to do:**

* **Grant scopes to OAuth2 clients.** Clients that need to manage WhatsApp setups require the new `whatsapp-setup:*` scopes.
* **Review the** [**Channel Manager**](https://docs.concurrence.com/developer-guide/platform-api/conversations/channel-manager) **guide** for provisioning and public routing boundaries.

</details>

<details>

<summary>Platform: Entity Activity Timeline Refresh (August 2026)</summary>

#### Entity Activity Timeline Refresh <a href="#entity-activity-timeline-refresh" id="entity-activity-timeline-refresh"></a>

The per-entity activity timeline is now produced by the current-generation world pipeline, completing the migration of all world-model outputs from the previous generation.

**What changed:**

* **Timeline produced by the current pipeline generation.** The entity activity timeline - used by entity detail views, FHIR patient timeline endpoints, and analytics dashboards - is now computed incrementally by the current-generation world pipeline. Previously it was produced exclusively by the prior generation.
* **Read-time 90-day window.** The timeline retains the most recent activity events per entity (up to 200) across all time. The 90-day recency filter is now applied at read time by the serving API rather than at pipeline compute time. This means the stored timeline is generation-stable and does not require wall-clock recomputation, while API consumers continue to see the same rolling 90-day window.
* **Continuous incremental updates.** Timeline entries update continuously as new events arrive or existing events are retracted, using the same change-driven refresh pattern as other current-generation outputs.
* **No schema or API changes.** The timeline schema, API response shape, and query interface are unchanged. Consumers do not need to re-bind or update queries.

**What you need to do:**

* **No action required.** The timeline continues to be served through the same API endpoints with the same response shape. The underlying pipeline change is transparent to consumers.

</details>

<details>

<summary>Platform: Guardian and Caregiver Entity Projection (August 2026)</summary>

#### Guardian and Caregiver Entity Projection <a href="#guardian-and-caregiver-entity-projection" id="guardian-and-caregiver-entity-projection"></a>

The world model now projects guardian and caregiver person entities with the same fidelity as patients and practitioners. Previously, these entities could resolve with missing name, contact, identifier, and resource type fields, which prevented downstream readers from distinguishing guardians from patients.

**What changed:**

* **Guardian entities fully projected.** Person entities sourced from guardian and caregiver records now carry name, phone, email, source-system identifier, and resource type. Previously these fields could be empty, causing the entity to be indistinguishable from a patient in platform reads and agent tools.
* **Role discrimination corrected.** Platform services and agent tools that filter person entities by role now correctly identify guardians and caregivers instead of misclassifying them as patients.
* **No schema changes.** Guardian projections reuse existing entity columns. The stable entity table schema is unchanged, and no downstream consumer re-binding is required.

**What you need to do:**

* **No action required.** Guardian and caregiver entities are projected automatically. Platform reads and agent tools that query person entities will return correct role information without configuration changes.

</details>

<details>

<summary>Platform: Generation-Agnostic Entity Cutover Support (August 2026)</summary>

#### Generation-Agnostic Entity Cutover Support <a href="#generation-agnostic-entity-cutover-support" id="generation-agnostic-entity-cutover-support"></a>

The stable entity publication surface now supports atomic generation cutovers. The platform can move the stable entity table between internal entity generations without downtime, consumer re-binding, or data gaps.

**What changed:**

* **Atomic generation cutover.** The platform validates schema compatibility, composite key integrity, change-data-feed enablement, and publisher identity before executing a single atomic merge to converge the stable entity table with a new generation source. A postflight parity check confirms exact row-level agreement before the cutover is considered complete.
* **Publication is generation-agnostic.** Any current or future entity generation can own publication through the same shared path. Publication is enabled per-pipeline by configuration rather than being hardcoded to a specific generation.
* **Metric store sources updated.** Analytics models that depend on entity data now reference the stable entity table rather than generation-specific tables, ensuring metric freshness tracking remains consistent across cutovers.
* **No per-reader repointing.** The stable publication seam remains the only supported read surface for application code. Generation-specific tables are retained for internal parity validation and rollback only.

**What you need to do:**

* **No action required.** If your integrations already reference the stable entity table, they will continue to work across generation cutovers without changes. If you have saved queries that reference a generation-specific table by name, update them to reference the stable entity table advertised by the schema introspection endpoint.

</details>

<details>

<summary>Platform: Entity Reads Consolidated to Stable Publication Surface (August 2026)</summary>

#### Entity Reads Consolidated to Stable Publication Surface <a href="#entity-reads-consolidated-to-stable-publication-surface" id="entity-reads-consolidated-to-stable-publication-surface"></a>

All entity read paths - including SQL tools, analytics dashboards, research queries, and monitoring - now read from the world model's stable physical entity table. Previously, some read paths used generation-specific intermediate tables that required separate synchronization and lag monitoring.

**What changed:**

* **Single entity read surface.** Platform services that query entities now bind to the stable publication table directly. This removes the previous dependency on a separately synchronized copy and eliminates an entire class of synchronization lag between entity writes and reads.
* **No per-reader repointing.** The stable publication seam is the only supported read surface for application code. Generation-specific tables are retained for internal parity validation and rollback only - they are not advertised to consumers.
* **Simplified monitoring.** Entity freshness monitoring now measures end-to-end latency from event ingestion to the stable entity table in a single step, rather than tracking a multi-stage pipeline across intermediate synchronized copies.
* **SQL tool table references updated.** The fallback SQL query tool and research query schema now advertise the stable entity table. Queries that previously referenced the intermediate synchronized table should use the new table reference.
* **Dashboard queries updated.** Built-in dashboard templates for slot analysis and facility lookup now query the stable entity table directly.

**What you need to do:**

* **Update any saved SQL queries.** If you have saved queries or integrations that reference the previous entity serving table by its fully qualified name, update them to reference the current entity table advertised by the schema introspection endpoint.
* **No action required for standard platform usage.** Dashboard templates, research queries, and tool descriptions are updated automatically.

</details>

<details>

<summary>Platform: Metric Store Execution Plan Validation and Semantic-Layer Definition Contract (August 2026)</summary>

#### Metric Store Execution Plan Validation and Semantic-Layer Definition Contract <a href="#metric-store-execution-plan-validation-and-semantic-layer-definition-contract" id="metric-store-execution-plan-validation-and-semantic-layer-definition-contract"></a>

The Metric Store now validates execution plans before computation and introduces a structured semantic-layer definition contract for authoring metrics as YAML.

**What changed:**

* **Execution plan validation at compute time.** Before a metric computation runs, the platform validates the execution plan against the semantic-layer contract. Plans that reference an unapproved model, use an unsupported aggregation, include disallowed dimensions, or violate scoping rules (such as a global metric exposing a workspace dimension) are rejected with structured validation errors before any data is read.
* **Semantic-layer YAML contract.** Metric definitions can now be authored as structured YAML documents that declare the metric's identity, base model, grain, dimensions, time configuration, freshness target, ownership, lifecycle status, and security classification. The platform parses, validates, and deterministically compiles these definitions into execution plans.
* **Supported metric types.** The definition contract supports count, distinct count, sum, average, percentile, ratio, rate, score, retention, boolean, and coverage metric types. Ratio and rate metrics require separate numerator and denominator blocks.
* **Lifecycle statuses.** Definitions carry a status of draft, certified, or deprecated.
* **Freshness targets.** Freshness can be a named cadence (30 minutes, hourly, daily, weekly) or a positive integer of minutes.
* **Content-addressable definitions.** Each compiled definition includes a content hash so the platform can detect changes without full re-parsing.
* **Scoping enforcement.** Workspace-scoped metrics must include a workspace dimension. Global metrics must not include a workspace dimension. Dimensions must include a time-grain dimension.

**What you need to do:**

* **No action required for existing metrics.** Metrics with valid execution plans continue to compute as before. Invalid plans that previously would have failed at query time are now rejected earlier with clearer error messages.
* **Use the YAML contract for new definitions.** Teams authoring new metrics can use the semantic-layer YAML format for structured validation before deployment.

</details>

<details>

<summary>Platform: Metric Store Registry Migration and Global Metrics (August 2026)</summary>

#### Metric Store Registry Migration and Global Metrics <a href="#metric-store-registry-migration-and-global-metrics" id="metric-store-registry-migration-and-global-metrics"></a>

The metric definition registry has moved to the platform's transactional database, metric assignments now control which workspaces receive computed values, and metrics can be defined at global scope.

**What changed:**

* **Registry moved to transactional storage.** Metric definitions, definition versions, and assignments are now managed in the platform's transactional store rather than in the analytical data layer. This separation gives the registry full transactional guarantees while analytical tables remain optimized for computation and querying.
* **Assignment-driven computation.** Metric computation is now driven by explicit assignments. Each assignment links a metric definition to either a specific workspace or to global scope, and only active assignments produce computed values. This replaces the previous model where definitions were implicitly scoped to a single workspace.
* **Global metrics.** Metrics can now be assigned at global scope. A global metric aggregates across all data without filtering to a single workspace. Global and workspace-scoped assignments for the same metric definition can coexist.
* **Published status supported.** Metric definitions with a "published" status are now eligible for computation alongside "certified" definitions.
* **Legacy registry tables removed.** The previous definition and version tables in the analytical layer have been added to the legacy cleanup process alongside the previously removed canonical table names.
* **Nullable workspace on analytical tables.** The workspace identifier on metric values, freshness status, and computation run records is now optional to support global metrics that are not scoped to any single workspace.

**What you need to do:**

* **Review metric assignments.** Existing workspace-scoped metrics continue to compute as before, but the assignment model is now explicit. Verify that active assignments exist for each metric you expect to see computed.
* **No action required for standard metric consumers.** Queries against metric values continue to work. Rows for global metrics will have a null workspace identifier.

</details>

<details>

<summary>Platform: Metric Store Freshness Scheduling and Schema Cleanup (August 2026)</summary>

#### Metric Store Freshness Scheduling and Schema Cleanup <a href="#metric-store-freshness-scheduling-and-schema-cleanup" id="metric-store-freshness-scheduling-and-schema-cleanup"></a>

Metric computation is now freshness-driven with failure backoff, and superseded legacy table names have been removed from the metric store schema.

**What changed:**

* **Freshness-aware scheduling.** Each computation cycle now evaluates which metric definitions are due based on their freshness target and the time of their last successful computation. Definitions that are already fresh are skipped, reducing unnecessary work.
* **Failure backoff.** Definitions that fail computation are retried with exponential backoff starting at two hours and capping at 24 hours. This prevents transient failures from consuming compute capacity on every cycle.
* **Freshness status tracking.** Each metric definition now tracks its last successful computation time, freshness status, and the computation run that produced the result.
* **Legacy table names removed.** The superseded canonical table names - "decision\_tool\_execution\_fact," "call\_intelligence\_fact," "event\_clinical\_evidence\_fact," "data\_source\_model\_health\_fact," and "metric\_output" - have been dropped from the metric store schema. These were replaced by the renamed models introduced in the Semantic Metric Store Foundation release.
* **Registry repair removed.** The previously available registry repair operation has been removed. The registry now lives in the platform's transactional store and does not require manual rebuilds.

**What you need to do:**

* **Update references to dropped table names.** If you have saved queries, dashboards, or external integrations that reference the old canonical table names, update them to the current names: "tool\_execution\_fact," "evaluation\_fact," "event\_evidence\_fact," "model\_health\_fact," and "surface\_interaction\_fact."
* **No action required for standard metric definitions.** Freshness scheduling and failure backoff apply automatically to all certified metric definitions.

</details>

<details>

<summary>Platform: Semantic Metric Store Foundation (August 2026)</summary>

#### Semantic Metric Store Foundation <a href="#semantic-metric-store-foundation" id="semantic-metric-store-foundation"></a>

The Metric Store now includes a governed semantic layer with canonical models, versioned relationships, semantic metric definitions, and automated computation.

**What changed:**

* **Canonical model registry.** The platform maintains a certified registry of canonical analytical models covering conversations, interactions, tool executions, outcomes, evaluations, topic classifications, appointment workflows, entities, event evidence, model health, and surface interactions. Each model declares its grain, key columns, timestamp columns, freshness target, and source lineage.
* **Governed relationships.** Canonical models are connected through versioned, certified relationships that declare join keys, cardinality, and allowed join direction. Metric definitions can only use relationships that are certified in the registry.
* **Semantic metric definitions.** Metric definitions now support a semantic wrapper that binds a metric to a specific canonical model, declares approved dimensions (workspace and reporting period are required), specifies the time field and aggregation, and tracks ownership, security classification, version, and lifecycle status (draft, certified, deprecated).
* **Deterministic execution plans.** Semantic definitions are compiled into deterministic execution plans with content hashes. The compilation validates that the base model and required relationships exist in the certified registry.
* **Automated computation.** Certified metric definitions are computed periodically against their canonical models within a configurable time window. Results are merged using an upsert strategy keyed by workspace, metric, version, period, and dimension hash. Each computation run records its status, timing, and any error.
* **Freshness classification.** Each canonical model and metric definition declares a freshness target. Materialized results are classified as fresh, stale, never computed, or failed based on the target and the most recent computation status.
* **Model renames.** Several canonical models have been renamed for clarity: decision and tool execution evidence is now "tool execution fact," call intelligence evaluations are now "evaluation fact," clinical evidence records are now "event evidence fact," and data source health is now "model health fact." A new "surface interaction fact" model replaces the previous metric output model.
* **Metric definition versioning.** Metric definitions now support independent version tracking with per-version status, content hash, execution plan, and lifecycle timestamps.

**What you need to do:**

* **No action required for existing integrations.** The semantic layer is additive. Existing metric definitions and values are unaffected.
* **Review canonical model names.** If your integration references canonical model names in metric definitions, update to the new names: use "tool\_execution\_fact" instead of "decision\_tool\_execution\_fact," "evaluation\_fact" instead of "call\_intelligence\_fact," "event\_evidence\_fact" instead of "event\_clinical\_evidence\_fact," and "model\_health\_fact" instead of "data\_source\_model\_health\_fact."

</details>

<details>

<summary>Platform: Design Agent Collector Endpoint Removed (August 2026)</summary>

#### Design Agent Collector Endpoint Removed <a href="#design-agent-collector-endpoint-removed" id="design-agent-collector-endpoint-removed"></a>

The design-agent session collector endpoint has been removed from the Platform API.

**What changed:**

* **`POST /v1/design-agent/session` removed.** The write-only endpoint that accepted design-agent session transcripts is no longer available. Requests to this path now return `404`.
* **Collector authentication scheme removed.** The dedicated bearer-token authentication scheme used exclusively by the design-agent collector is no longer part of the API. This token was separate from platform API keys and granted no read access.
* **No replacement endpoint.** This endpoint served an internal collection workflow and has been retired without a public replacement.

**What you need to do:**

* **Remove any integrations that call the design-agent session endpoint.** If you have scripts or hooks that POST to `/v1/design-agent/session`, remove or disable them. The endpoint no longer exists and calls will receive a `404` response.
* **Discard any stored collector tokens.** The dedicated write-only token for this endpoint is no longer valid for any purpose.

</details>

<details>

<summary>Platform: Date Range Filtering on List Sessions Endpoint (August 2026)</summary>

#### Date Range Filtering on List Sessions Endpoint <a href="#date-range-filtering-on-list-sessions-endpoint" id="date-range-filtering-on-list-sessions-endpoint"></a>

The list sessions endpoint now supports optional date range filtering so callers can retrieve sessions created within a specific time window.

**What changed:**

* **`created_after` query parameter added.** An optional ISO 8601 UTC timestamp that acts as an inclusive lower bound on session creation time. When provided, only sessions created at or after this timestamp are returned.
* **`created_before` query parameter added.** An optional ISO 8601 UTC timestamp that acts as an exclusive upper bound on session creation time. When provided, only sessions created before this timestamp are returned.
* **Half-open range convention.** The two parameters form a half-open interval `[created_after, created_before)`, consistent with the convention used by the appointments endpoint. Either parameter can be supplied independently.
* **Validation.** When both parameters are supplied, `created_after` must be strictly before `created_before`. If this constraint is violated, the endpoint returns a `400 Bad Request` with the code `invalid_date_range`.

**What you need to do:**

* **No action required for existing integrations.** The parameters are optional and the default behavior is unchanged. Add `created_after` and/or `created_before` query parameters to narrow results by creation date when needed.

</details>

<details>

<summary>Platform: RelatedPerson Resource Type and Patient Filtering (August 2026)</summary>

#### RelatedPerson Resource Type and Patient Filtering <a href="#relatedperson-resource-type-and-patient-filtering" id="relatedperson-resource-type-and-patient-filtering"></a>

The FHIR surface now supports the `RelatedPerson` resource type for guardians and contacts, and `Patient` queries no longer return non-patient persons.

**What changed:**

* **`RelatedPerson` added as a supported FHIR resource type.** Guardians and contacts are now projected as `RelatedPerson` resources with their own identity, name, telecom, and relationship data. Previously, these persons had no dedicated FHIR representation.
* **Patient results no longer include guardians.** `Patient` searches now exclude persons whose role is guardian or contact. Previously, guardians without clinician-specific attributes were returned as patients, producing patient records with no birth date or medical record number.
* **Resource identity uses raw vendor identifiers.** FHIR resource ids for patients, practitioners, and related persons now use the vendor's native identifier directly, without a namespace prefix. This ensures that external identity resolution matches the identifiers presented during session creation. Existing resources will resolve under the new identifiers.
* **Summary counts reflect three-way role split.** The resource summary endpoint now counts `Patient`, `Practitioner`, and `RelatedPerson` as separate categories, matching the filtering applied to search results.

**What you need to do:**

* **Update integrations that consume Patient bundles.** If your integration expected guardian records in Patient results, query `RelatedPerson` instead.
* **Update stored resource references.** If your integration stores FHIR resource ids and previously expected a namespace prefix on patient, practitioner, or guardian ids, update to expect the raw vendor identifier.
* **No action required for standard FHIR queries.** Searches against `Patient`, `Practitioner`, and `RelatedPerson` return correctly scoped results without additional filtering.

</details>

<details>

<summary>Platform: Workspace Environment Field Removed from API (August 2026)</summary>

#### Workspace Environment Field Removed from API <a href="#workspace-environment-field-removed-from-api" id="workspace-environment-field-removed-from-api"></a>

The `environment` field has been removed from workspace API requests and responses. Workspaces no longer carry an environment designation at the API level.

**What changed:**

* **`environment` removed from workspace creation.** The create-workspace request body no longer accepts an `environment` field. Previously, callers could pass `production`, `staging`, or `development` as an environment designation; the value was accepted but had no operational effect. The field is no longer recognized.
* **`environment` removed from workspace update.** The update-workspace request body no longer accepts an `environment` field. Previously, the field was accepted and silently ignored. It is no longer recognized.
* **`environment` removed from workspace responses.** Workspace response objects no longer include an `environment` field. Previously, the response reported the serving deployment's stage as the workspace environment. This field is no longer returned.
* **Environment conversion endpoints removed.** The `GET /{workspace_id}/environment-check` and `POST /{workspace_id}/convert-environment` endpoints have been removed. These endpoints previously provided a pre-check and a no-op conversion between staging and production environments. They are no longer available.

**What you need to do:**

* **Remove `environment` from request bodies.** If your integration sends an `environment` field when creating or updating a workspace, remove it. The field is no longer accepted.
* **Update response parsing.** If your integration reads the `environment` field from workspace responses, remove that dependency. The field is no longer returned.
* **Remove environment conversion calls.** If your integration calls the environment-check or convert-environment endpoints, remove those calls. The endpoints no longer exist and will return errors.

</details>

<details>

<summary>Platform: Inline Malware Scanning Removed from Intake Upload Path (August 2026)</summary>

#### Inline Malware Scanning Removed from Intake Upload Path <a href="#inline-malware-scanning-removed-from-intake-upload-path" id="inline-malware-scanning-removed-from-intake-upload-path"></a>

The inline malware scanning step has been removed from the intake file upload path. Uploads are no longer scanned synchronously before persistence.

**What changed:**

* **Inline scan removed.** The upload endpoint no longer performs a synchronous malware scan before writing the file. Previously, when scanning was enabled, every upload was scanned inline and rejected if the scanner returned a positive detection or was unavailable (fail-closed). This step has been removed entirely.
* **Scanner-related error responses removed.** The upload endpoint no longer returns `422 Unprocessable Entity` for malware detections or `503 Service Unavailable` for scanner unavailability. These responses are no longer possible.
* **Scanner configuration removed.** The environment variables that controlled inline scanning enablement, host, port, and timeout are no longer recognized. Deployments that set these variables can remove them with no effect.
* **No change to upload validation.** File size limits, SHA-256 deduplication, and CSV validation continue to operate as before.

**What you need to do:**

* **No action required for most integrations.** If your error-handling code checks for `422` responses with a malware-scan detail message or `503` responses for scanner unavailability on the upload endpoint, those branches are now unreachable and can be removed.
* **Remove scanner environment variables.** If your deployment sets intake scanner configuration variables, they can be safely removed.

</details>

## Archive Index

Choose an archive by topic or recorded version. The topics below are a guide, not a complete list of entries. Each archive preserves its original release dates and version labels.

| Archive                                                                                     | Versions or period            | Selected topics                                             |
| ------------------------------------------------------------------------------------------- | ----------------------------- | ----------------------------------------------------------- |
| [Archive 1](/api-reference/change-logs/amigo-api/amigo-api-history-01.md)                   | Unnumbered, July-August 2026  | Metric Store, enrichment, evaluations, and Scribe templates |
| [Archive 2](/api-reference/change-logs/amigo-api/amigo-api-history-02.md)                   | Unnumbered, July 2026         | Warehouse intake, Scribe notes, appointments, and Zoom      |
| [Archive 3](/api-reference/change-logs/amigo-api/amigo-api-history-03.md)                   | Unnumbered, July 2026         | Scribe sessions, authorization, and intake sources          |
| [Archive 4](/api-reference/change-logs/amigo-api/amigo-api-history-04.md)                   | Unnumbered, July 2026         | Session lifecycle, approvals, voice, and evaluations        |
| [Archive 5](/api-reference/change-logs/amigo-api/amigo-api-history-05.md)                   | Unnumbered, July 2026         | Dataset exports, run controls, analytics, and Surfaces      |
| [Archive 6](/api-reference/change-logs/amigo-api/amigo-api-history-06.md)                   | Unnumbered, July 2026         | Audit, voice tools, access grants, and memory               |
| [Archive 7](/api-reference/change-logs/amigo-api/amigo-api-history-07.md)                   | Unnumbered; v0.9.483-v0.9.505 | Metering, agent runs, intake, and connector writes          |
| [Archive 8](/api-reference/change-logs/amigo-api/amigo-api-history-08.md)                   | v0.9.432-v0.9.482             | Messaging, intake processing, voice, and OAuth              |
| [Archive 9](/api-reference/change-logs/amigo-api/amigo-api-history-09.md)                   | v0.9.400-v0.9.431             | Intake, voice, and a historical contract snapshot           |
| [v0.9.250-v0.9.399](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-9-250-399.md) | July 2026                     | Voice runtimes, connector operations, and tool execution    |
| [v0.9.100-v0.9.249](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-9-100-249.md) | May-July 2026                 | Integrations, simulations, data, and voice                  |
| [v0.6.0-v0.9.99](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-6-v0-9-99.md)    | November 2025-May 2026        | Classic API, tool persistence, and early Platform changes   |

Older bookmarks on this page continue to point to their full entries. For current behavior and migration steps, use [Current Upgrade Guidance](/api-reference/change-logs/upgrade-guide.md).

<details>

<summary>Earlier entry links (preserved bookmarks)</summary>

#### Metric Store Setup, Refresh, and Run Status Endpoints <a href="#metric-store-setup-refresh-and-run-status-endpoints" id="metric-store-setup-refresh-and-run-status-endpoints"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#metric-store-setup-refresh-and-run-status-endpoints).

#### Entity Overlay Available on Text and Web Session Open <a href="#entity-overlay-available-on-text-and-web-session-open" id="entity-overlay-available-on-text-and-web-session-open"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#entity-overlay-available-on-text-and-web-session-open).

#### Cost-to-Serve Endpoints for LLM Inference and Infrastructure <a href="#cost-to-serve-endpoints-for-llm-inference-and-infrastructure" id="cost-to-serve-endpoints-for-llm-inference-and-infrastructure"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#cost-to-serve-endpoints-for-llm-inference-and-infrastructure).

#### Workspace Region and Environment Are Now Deployment-Derived <a href="#workspace-region-and-environment-are-now-deployment-derived" id="workspace-region-and-environment-are-now-deployment-derived"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#workspace-region-and-environment-are-now-deployment-derived).

#### Canonical Metric Store Models <a href="#canonical-metric-store-models" id="canonical-metric-store-models"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#canonical-metric-store-models).

#### Workspace Data Query Tools Available in Trigger Actions <a href="#workspace-data-query-tools-available-in-trigger-actions" id="workspace-data-query-tools-available-in-trigger-actions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#workspace-data-query-tools-available-in-trigger-actions).

#### Ringless Voicemail Channel Removed <a href="#ringless-voicemail-channel-removed" id="ringless-voicemail-channel-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#ringless-voicemail-channel-removed).

#### Cross-Entity Projection Parity and Retraction Correctness <a href="#cross-entity-projection-parity-and-retraction-correctness" id="cross-entity-projection-parity-and-retraction-correctness"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#cross-entity-projection-parity-and-retraction-correctness).

#### Remaining World Model Readers Migrated to Current Serving Projection <a href="#remaining-world-model-readers-migrated-to-current-serving-projection" id="remaining-world-model-readers-migrated-to-current-serving-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#remaining-world-model-readers-migrated-to-current-serving-projection).

#### World Model Read Path Migrated to Current Serving Projection <a href="#world-model-read-path-migrated-to-current-serving-projection" id="world-model-read-path-migrated-to-current-serving-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#world-model-read-path-migrated-to-current-serving-projection).

#### World Model Stateful Projections Upgraded <a href="#world-model-stateful-projections-upgraded" id="world-model-stateful-projections-upgraded"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#world-model-stateful-projections-upgraded).

#### Legacy Per-Workspace Drive Credential Path Removed <a href="#legacy-per-workspace-drive-credential-path-removed" id="legacy-per-workspace-drive-credential-path-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#legacy-per-workspace-drive-credential-path-removed).

#### Auto-Bind Identity Resolution Matches on Data Source Name <a href="#auto-bind-identity-resolution-matches-on-data-source-name" id="auto-bind-identity-resolution-matches-on-data-source-name"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#auto-bind-identity-resolution-matches-on-data-source-name).

#### Guardians Emitted as First-Class Person Entities <a href="#guardians-emitted-as-first-class-person-entities" id="guardians-emitted-as-first-class-person-entities"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#guardians-emitted-as-first-class-person-entities).

#### Design Agent Collector Gating Moved to Client <a href="#design-agent-collector-gating-moved-to-client" id="design-agent-collector-gating-moved-to-client"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#design-agent-collector-gating-moved-to-client).

#### Connector Source Types Consolidated <a href="#connector-source-types-consolidated" id="connector-source-types-consolidated"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#connector-source-types-consolidated).

#### Production Evaluations Limited to Metric Definitions <a href="#production-evaluations-limited-to-metric-definitions" id="production-evaluations-limited-to-metric-definitions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#production-evaluations-limited-to-metric-definitions).

#### Read-Side Observability for Enrichment Overlay <a href="#read-side-observability-for-enrichment-overlay" id="read-side-observability-for-enrichment-overlay"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#read-side-observability-for-enrichment-overlay).

#### Synchronous Enrichment Overlay on Entity Read <a href="#synchronous-enrichment-overlay-on-entity-read" id="synchronous-enrichment-overlay-on-entity-read"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#synchronous-enrichment-overlay-on-entity-read).

#### Structured Metric Verdicts in Evaluations <a href="#structured-metric-verdicts-in-evaluations" id="structured-metric-verdicts-in-evaluations"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#structured-metric-verdicts-in-evaluations).

#### Intake Storage Simplified to Per-Tenant Volumes <a href="#intake-storage-simplified-to-per-tenant-volumes" id="intake-storage-simplified-to-per-tenant-volumes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#intake-storage-simplified-to-per-tenant-volumes).

#### Unused Data Connectors Removed <a href="#unused-data-connectors-removed" id="unused-data-connectors-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#unused-data-connectors-removed).

#### Canonical ROS-Grid Cell Shape for Structured Notes <a href="#canonical-ros-grid-cell-shape-for-structured-notes" id="canonical-ros-grid-cell-shape-for-structured-notes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#canonical-ros-grid-cell-shape-for-structured-notes).

#### Raw Note-Generation Output Archived for Debug and Audit <a href="#raw-note-generation-output-archived-for-debug-and-audit" id="raw-note-generation-output-archived-for-debug-and-audit"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#raw-note-generation-output-archived-for-debug-and-audit).

#### Automatic External Identity Binding on Person Fold <a href="#automatic-external-identity-binding-on-person-fold" id="automatic-external-identity-binding-on-person-fold"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#automatic-external-identity-binding-on-person-fold).

#### Shareable Upload Links and Launch DPC Job Removed <a href="#shareable-upload-links-and-launch-dpc-job-removed" id="shareable-upload-links-and-launch-dpc-job-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#shareable-upload-links-and-launch-dpc-job-removed).

#### World Model Serving Layer Upgrade <a href="#world-model-serving-layer-upgrade" id="world-model-serving-layer-upgrade"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#world-model-serving-layer-upgrade).

#### Entity Enrichment Read Path Repoint <a href="#entity-enrichment-read-path-repoint" id="entity-enrichment-read-path-repoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#entity-enrichment-read-path-repoint).

#### World-Model Projection Efficiency Improvements <a href="#world-model-projection-efficiency-improvements" id="world-model-projection-efficiency-improvements"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#world-model-projection-efficiency-improvements).

#### Entity Overlay Write Path Wired to Enrichment PUT <a href="#entity-overlay-write-path-wired-to-enrichment-put" id="entity-overlay-write-path-wired-to-enrichment-put"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#entity-overlay-write-path-wired-to-enrichment-put).

#### Synchronous Entity Enrichment Overlay <a href="#synchronous-entity-enrichment-overlay" id="synchronous-entity-enrichment-overlay"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#synchronous-entity-enrichment-overlay).

#### Result-Retaining Interactive Write Idempotency <a href="#result-retaining-interactive-write-idempotency" id="result-retaining-interactive-write-idempotency"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#result-retaining-interactive-write-idempotency).

#### Unified Enrichment Winner Selection <a href="#unified-enrichment-winner-selection" id="unified-enrichment-winner-selection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#unified-enrichment-winner-selection).

#### Ephemeral Tool Results Honored on Text and Simulation Sessions <a href="#ephemeral-tool-results-honored-on-text-and-simulation-sessions" id="ephemeral-tool-results-honored-on-text-and-simulation-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#ephemeral-tool-results-honored-on-text-and-simulation-sessions).

#### Improved Circuit Breaker Resilience for Voice Calls <a href="#improved-circuit-breaker-resilience-for-voice-calls" id="improved-circuit-breaker-resilience-for-voice-calls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#improved-circuit-breaker-resilience-for-voice-calls).

#### Improved Session Liveness Detection for In-Person Recordings <a href="#improved-session-liveness-detection-for-in-person-recordings" id="improved-session-liveness-detection-for-in-person-recordings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#improved-session-liveness-detection-for-in-person-recordings).

#### Info Section Coding Echo Removed from AMD Note Templates <a href="#info-section-coding-echo-removed-from-amd-note-templates" id="info-section-coding-echo-removed-from-amd-note-templates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#info-section-coding-echo-removed-from-amd-note-templates).

#### Psych-Progress and Therapy-Progress Emergency/Telehealth Field Updates <a href="#psych-progress-and-therapy-progress-emergency-telehealth-field-updates" id="psych-progress-and-therapy-progress-emergency-telehealth-field-updates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psych-progress-and-therapy-progress-emergency-telehealth-field-updates).

#### Psychiatry Intake Vitals Grid and BP Field Updates <a href="#psychiatry-intake-vitals-grid-and-bp-field-updates" id="psychiatry-intake-vitals-grid-and-bp-field-updates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psychiatry-intake-vitals-grid-and-bp-field-updates).

#### Psychiatry Intake ROS Header and Option Labels <a href="#psychiatry-intake-ros-header-and-option-labels" id="psychiatry-intake-ros-header-and-option-labels"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psychiatry-intake-ros-header-and-option-labels).

#### Therapy Note Template Updates - Generated Fields, Section Renaming, and Version Bumps <a href="#therapy-note-template-updates-generated-fields-section-renaming-and-version-bumps" id="therapy-note-template-updates-generated-fields-section-renaming-and-version-bumps"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#therapy-note-template-updates-generated-fields-section-renaming-and-version-bumps).

#### Psychiatry Progress Note Restructuring - Field Moves, Editable Vitals, and Field Removal <a href="#psychiatry-progress-note-restructuring-field-moves-editable-vitals-and-field-removal" id="psychiatry-progress-note-restructuring-field-moves-editable-vitals-and-field-removal"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psychiatry-progress-note-restructuring-field-moves-editable-vitals-and-field-removal).

#### Psychiatry Progress Note Field Relocation and Version Bump <a href="#psychiatry-progress-note-field-relocation-and-version-bump" id="psychiatry-progress-note-field-relocation-and-version-bump"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psychiatry-progress-note-field-relocation-and-version-bump).

#### Psychiatry Progress Note Section Restructure and Version Bump <a href="#psychiatry-progress-note-section-restructure-and-version-bump" id="psychiatry-progress-note-section-restructure-and-version-bump"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#psychiatry-progress-note-section-restructure-and-version-bump).

#### AMD Template Parity - Multi-Answer Conditions, Exam Grid Update, Field Renaming, and Version Bump <a href="#amd-template-parity-multi-answer-conditions-exam-grid-update-field-renaming-and-version-bump" id="amd-template-parity-multi-answer-conditions-exam-grid-update-field-renaming-and-version-bump"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#amd-template-parity-multi-answer-conditions-exam-grid-update-field-renaming-and-version-bump).

#### AMD MBC Parity - Editable Scores, Treatment Plan Checkboxes, and Version Bump <a href="#amd-mbc-parity-editable-scores-treatment-plan-checkboxes-and-version-bump" id="amd-mbc-parity-editable-scores-treatment-plan-checkboxes-and-version-bump"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#amd-mbc-parity-editable-scores-treatment-plan-checkboxes-and-version-bump).

#### Ephemeral Tool-Result Persistence <a href="#ephemeral-tool-result-persistence" id="ephemeral-tool-result-persistence"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#ephemeral-tool-result-persistence).

#### Production Evaluations On by Default <a href="#production-evaluations-on-by-default" id="production-evaluations-on-by-default"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#production-evaluations-on-by-default).

#### HMAC External Upload Path Removed <a href="#hmac-external-upload-path-removed" id="hmac-external-upload-path-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#hmac-external-upload-path-removed).

#### Patient-Only Warehouse Mart Support <a href="#patient-only-warehouse-mart-support" id="patient-only-warehouse-mart-support"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-01.md#patient-only-warehouse-mart-support).

#### Data Warehouse Connector Source Type <a href="#data-warehouse-connector-source-type" id="data-warehouse-connector-source-type"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#data-warehouse-connector-source-type).

#### Keyless Credential for Google Drive Intake Sources <a href="#keyless-credential-for-google-drive-intake-sources" id="keyless-credential-for-google-drive-intake-sources"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#keyless-credential-for-google-drive-intake-sources).

#### Second Diagnosis-Confirm Gate for Therapy Progress Documentation <a href="#second-diagnosis-confirm-gate-for-therapy-progress-documentation" id="second-diagnosis-confirm-gate-for-therapy-progress-documentation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#second-diagnosis-confirm-gate-for-therapy-progress-documentation).

#### CPT Location Gates, Charge Coding, and Interventions Grid for Documentation Templates <a href="#cpt-location-gates-charge-coding-and-interventions-grid-for-documentation-templates" id="cpt-location-gates-charge-coding-and-interventions-grid-for-documentation-templates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#cpt-location-gates-charge-coding-and-interventions-grid-for-documentation-templates).

#### End-to-End Session Traceability in Observability Logs <a href="#end-to-end-session-traceability-in-observability-logs" id="end-to-end-session-traceability-in-observability-logs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#end-to-end-session-traceability-in-observability-logs).

#### Voice Turn Authentication Fix for Multi-Workspace Deployments <a href="#voice-turn-authentication-fix-for-multi-workspace-deployments" id="voice-turn-authentication-fix-for-multi-workspace-deployments"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#voice-turn-authentication-fix-for-multi-workspace-deployments).

#### Runtime Toggle for Finalize Content Validation <a href="#runtime-toggle-for-finalize-content-validation" id="runtime-toggle-for-finalize-content-validation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#runtime-toggle-for-finalize-content-validation).

#### Stronger Model for Note Generation <a href="#stronger-model-for-note-generation" id="stronger-model-for-note-generation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#stronger-model-for-note-generation).

#### Per-Section Confirmation No Longer Required Before Finalize <a href="#per-section-confirmation-no-longer-required-before-finalize" id="per-section-confirmation-no-longer-required-before-finalize"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#per-section-confirmation-no-longer-required-before-finalize).

#### Informed Consent Registered as a Standalone AMD Section <a href="#informed-consent-registered-as-a-standalone-amd-section" id="informed-consent-registered-as-a-standalone-amd-section"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#informed-consent-registered-as-a-standalone-amd-section).

#### AI Metric History Now Accumulates Across Runs <a href="#ai-metric-history-now-accumulates-across-runs" id="ai-metric-history-now-accumulates-across-runs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#ai-metric-history-now-accumulates-across-runs).

#### Distinct Error When Zoom Meeting Has Not Started <a href="#distinct-error-when-zoom-meeting-has-not-started" id="distinct-error-when-zoom-meeting-has-not-started"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#distinct-error-when-zoom-meeting-has-not-started).

#### Design Agent Session Collector <a href="#design-agent-session-collector" id="design-agent-session-collector"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#design-agent-session-collector).

#### Per-Source AI Call Attribution for Cost Caps <a href="#per-source-ai-call-attribution-for-cost-caps" id="per-source-ai-call-attribution-for-cost-caps"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#per-source-ai-call-attribution-for-cost-caps).

#### Topic Modeling Gated by Permission <a href="#topic-modeling-gated-by-permission" id="topic-modeling-gated-by-permission"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#topic-modeling-gated-by-permission).

#### Provider-Authored ICD-10 Codes and Generation-Decoupled Code Reads <a href="#provider-authored-icd-10-codes-and-generation-decoupled-code-reads" id="provider-authored-icd-10-codes-and-generation-decoupled-code-reads"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#provider-authored-icd-10-codes-and-generation-decoupled-code-reads).

#### Circuit Breaker on World Events Serving Reads <a href="#circuit-breaker-on-world-events-serving-reads" id="circuit-breaker-on-world-events-serving-reads"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#circuit-breaker-on-world-events-serving-reads).

#### Operator Dashboard Timeline Reads Migrated to Optimized Serving Path <a href="#operator-dashboard-timeline-reads-migrated-to-optimized-serving-path" id="operator-dashboard-timeline-reads-migrated-to-optimized-serving-path"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#operator-dashboard-timeline-reads-migrated-to-optimized-serving-path).

#### Remaining Timeline Readers Migrated to Optimized Serving Path <a href="#remaining-timeline-readers-migrated-to-optimized-serving-path" id="remaining-timeline-readers-migrated-to-optimized-serving-path"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#remaining-timeline-readers-migrated-to-optimized-serving-path).

#### Analytics Summary Reads Migrated to Optimized Serving Path <a href="#analytics-summary-reads-migrated-to-optimized-serving-path" id="analytics-summary-reads-migrated-to-optimized-serving-path"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#analytics-summary-reads-migrated-to-optimized-serving-path).

#### Per-Workspace Timeline Read Migration to Materialized View <a href="#per-workspace-timeline-read-migration-to-materialized-view" id="per-workspace-timeline-read-migration-to-materialized-view"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#per-workspace-timeline-read-migration-to-materialized-view).

#### No-Diagnosis Attestation Waives Diagnosis Finalize Gate <a href="#no-diagnosis-attestation-waives-diagnosis-finalize-gate" id="no-diagnosis-attestation-waives-diagnosis-finalize-gate"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#no-diagnosis-attestation-waives-diagnosis-finalize-gate).

#### Session Codes Status Reflects Generation Outcome <a href="#session-codes-status-reflects-generation-outcome" id="session-codes-status-reflects-generation-outcome"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#session-codes-status-reflects-generation-outcome).

#### PUT Allowed for Structured-Note Autosave <a href="#put-allowed-for-structured-note-autosave" id="put-allowed-for-structured-note-autosave"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#put-allowed-for-structured-note-autosave).

#### MRN Prefix Removed from Seeded Appointment Charts <a href="#mrn-prefix-removed-from-seeded-appointment-charts" id="mrn-prefix-removed-from-seeded-appointment-charts"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#mrn-prefix-removed-from-seeded-appointment-charts).

#### Seed Appointments Use Eastern Time Wall-Clock Scheduling <a href="#seed-appointments-use-eastern-time-wall-clock-scheduling" id="seed-appointments-use-eastern-time-wall-clock-scheduling"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#seed-appointments-use-eastern-time-wall-clock-scheduling).

#### Structured Finalization Gates <a href="#structured-finalization-gates" id="structured-finalization-gates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#structured-finalization-gates).

#### Zoom Session Finalization for Silent Meetings <a href="#zoom-session-finalization-for-silent-meetings" id="zoom-session-finalization-for-silent-meetings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#zoom-session-finalization-for-silent-meetings).

#### Improved Transcript Retrieval Reliability <a href="#improved-transcript-retrieval-reliability" id="improved-transcript-retrieval-reliability"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#improved-transcript-retrieval-reliability).

#### Mid-Session Auto-Check No-Op Guard <a href="#mid-session-auto-check-no-op-guard" id="mid-session-auto-check-no-op-guard"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#mid-session-auto-check-no-op-guard).

#### Server-Authoritative Checklist Item Category <a href="#server-authoritative-checklist-item-category" id="server-authoritative-checklist-item-category"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#server-authoritative-checklist-item-category).

#### Faster Mid-Session Transcript Snapshots <a href="#faster-mid-session-transcript-snapshots" id="faster-mid-session-transcript-snapshots"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#faster-mid-session-transcript-snapshots).

#### Structured Grounding for Dependent Generations and Section Regeneration <a href="#structured-grounding-for-dependent-generations-and-section-regeneration" id="structured-grounding-for-dependent-generations-and-section-regeneration"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#structured-grounding-for-dependent-generations-and-section-regeneration).

#### Schema-Constrained Structured Note Generation <a href="#schema-constrained-structured-note-generation" id="schema-constrained-structured-note-generation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#schema-constrained-structured-note-generation).

#### Typed Structured-Note Envelope and Body Deprecation <a href="#typed-structured-note-envelope-and-body-deprecation" id="typed-structured-note-envelope-and-body-deprecation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#typed-structured-note-envelope-and-body-deprecation).

#### All-Session AMD Template Pinning on Create and Update <a href="#all-session-amd-template-pinning-on-create-and-update" id="all-session-amd-template-pinning-on-create-and-update"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#all-session-amd-template-pinning-on-create-and-update).

#### Authoritative AMD Note Template Registry <a href="#authoritative-amd-note-template-registry" id="authoritative-amd-note-template-registry"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#authoritative-amd-note-template-registry).

#### Cancelled Sessions Hidden from Session and Appointment Lists <a href="#cancelled-sessions-hidden-from-session-and-appointment-lists" id="cancelled-sessions-hidden-from-session-and-appointment-lists"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#cancelled-sessions-hidden-from-session-and-appointment-lists).

#### Patient Chart Fields on Appointments <a href="#patient-chart-fields-on-appointments" id="patient-chart-fields-on-appointments"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#patient-chart-fields-on-appointments).

#### Automatic Retry for Telephony Provisioning Status Callbacks <a href="#automatic-retry-for-telephony-provisioning-status-callbacks" id="automatic-retry-for-telephony-provisioning-status-callbacks"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#automatic-retry-for-telephony-provisioning-status-callbacks).

#### Server-Side Checklist Seeding at Session Creation <a href="#server-side-checklist-seeding-at-session-creation" id="server-side-checklist-seeding-at-session-creation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#server-side-checklist-seeding-at-session-creation).

#### Resilient Transcript Retrieval Under Degraded Storage Conditions <a href="#resilient-transcript-retrieval-under-degraded-storage-conditions" id="resilient-transcript-retrieval-under-degraded-storage-conditions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#resilient-transcript-retrieval-under-degraded-storage-conditions).

#### Improved Observability for Transcript Retrieval Failures <a href="#improved-observability-for-transcript-retrieval-failures" id="improved-observability-for-transcript-retrieval-failures"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#improved-observability-for-transcript-retrieval-failures).

#### Empty Extraction Results Treated as Valid <a href="#empty-extraction-results-treated-as-valid" id="empty-extraction-results-treated-as-valid"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#empty-extraction-results-treated-as-valid).

#### Improved Diagnostic Detail for Structured Generation Failures <a href="#improved-diagnostic-detail-for-structured-generation-failures" id="improved-diagnostic-detail-for-structured-generation-failures"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#improved-diagnostic-detail-for-structured-generation-failures).

#### Robust JSON Parsing for Structured Generation Stages <a href="#robust-json-parsing-for-structured-generation-stages" id="robust-json-parsing-for-structured-generation-stages"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#robust-json-parsing-for-structured-generation-stages).

#### Session-Owned Note Generation Fields <a href="#session-owned-note-generation-fields" id="session-owned-note-generation-fields"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#session-owned-note-generation-fields).

#### Zoom Meeting Bot Shutdown Drain Reliability <a href="#zoom-meeting-bot-shutdown-drain-reliability" id="zoom-meeting-bot-shutdown-drain-reliability"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#zoom-meeting-bot-shutdown-drain-reliability).

#### Zoom End-of-Session Transcript Completeness and Graceful Degradation <a href="#zoom-end-of-session-transcript-completeness-and-graceful-degradation" id="zoom-end-of-session-transcript-completeness-and-graceful-degradation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#zoom-end-of-session-transcript-completeness-and-graceful-degradation).

#### Zoom OAuth Scopes Updated for RTMS Event Delivery <a href="#zoom-oauth-scopes-updated-for-rtms-event-delivery" id="zoom-oauth-scopes-updated-for-rtms-event-delivery"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-02.md#zoom-oauth-scopes-updated-for-rtms-event-delivery).

#### Zoom Bot Request Parity with BFF <a href="#zoom-bot-request-parity-with-bff" id="zoom-bot-request-parity-with-bff"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-bot-request-parity-with-bff).

#### Generic Session Create Scoped to In-Person Only <a href="#generic-session-create-scoped-to-in-person-only" id="generic-session-create-scoped-to-in-person-only"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#generic-session-create-scoped-to-in-person-only).

#### Zoom OAuth Token Auto-Refresh and Reconnect Detection <a href="#zoom-oauth-token-auto-refresh-and-reconnect-detection" id="zoom-oauth-token-auto-refresh-and-reconnect-detection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-oauth-token-auto-refresh-and-reconnect-detection).

#### Automatic Note Generation for In-Person Mic Sessions <a href="#automatic-note-generation-for-in-person-mic-sessions" id="automatic-note-generation-for-in-person-mic-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#automatic-note-generation-for-in-person-mic-sessions).

#### Transcript Retrieval Resilience Improvement <a href="#transcript-retrieval-resilience-improvement" id="transcript-retrieval-resilience-improvement"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#transcript-retrieval-resilience-improvement).

#### Voice Turn Accept Header Content Negotiation <a href="#voice-turn-accept-header-content-negotiation" id="voice-turn-accept-header-content-negotiation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#voice-turn-accept-header-content-negotiation).

#### Assist Features - Action Items, Ask, Auto-Check, and Section Regeneration <a href="#assist-features-action-items-ask-auto-check-and-section-regeneration" id="assist-features-action-items-ask-auto-check-and-section-regeneration"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#assist-features-action-items-ask-auto-check-and-section-regeneration).

#### Simulation Step Timeout Increased <a href="#simulation-step-timeout-increased" id="simulation-step-timeout-increased"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#simulation-step-timeout-increased).

#### Workspace Provision Endpoint Reschedules Scope Provisioner <a href="#workspace-provision-endpoint-reschedules-scope-provisioner" id="workspace-provision-endpoint-reschedules-scope-provisioner"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#workspace-provision-endpoint-reschedules-scope-provisioner).

#### World Model Workspace-Scoped Entity Projection <a href="#world-model-workspace-scoped-entity-projection" id="world-model-workspace-scoped-entity-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#world-model-workspace-scoped-entity-projection).

#### Scheduled Workspace Topic Classification <a href="#scheduled-workspace-topic-classification" id="scheduled-workspace-topic-classification"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#scheduled-workspace-topic-classification).

#### World Model Pipeline Event Log <a href="#world-model-pipeline-event-log" id="world-model-pipeline-event-log"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#world-model-pipeline-event-log).

#### Authorization-Bound Test Values in Simulations <a href="#authorization-bound-test-values-in-simulations" id="authorization-bound-test-values-in-simulations"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#authorization-bound-test-values-in-simulations).

#### Post-Visit Mutations, Note Versioning, and Finalize Gates <a href="#post-visit-mutations-note-versioning-and-finalize-gates" id="post-visit-mutations-note-versioning-and-finalize-gates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#post-visit-mutations-note-versioning-and-finalize-gates).

#### Async Generation Orchestration <a href="#async-generation-orchestration" id="async-generation-orchestration"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#async-generation-orchestration).

#### Zoom Session Live Event Stream <a href="#zoom-session-live-event-stream" id="zoom-session-live-event-stream"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-session-live-event-stream).

#### Zoom Session Lifecycle and Bot Controls <a href="#zoom-session-lifecycle-and-bot-controls" id="zoom-session-lifecycle-and-bot-controls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-session-lifecycle-and-bot-controls).

#### Zoom OAuth Granular Scopes <a href="#zoom-oauth-granular-scopes" id="zoom-oauth-granular-scopes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-oauth-granular-scopes).

#### Zoom Integration Connect and Disconnect <a href="#zoom-integration-connect-and-disconnect" id="zoom-integration-connect-and-disconnect"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-integration-connect-and-disconnect).

#### Attach-Ticket Endpoint and CORS Hardening <a href="#attach-ticket-endpoint-and-cors-hardening" id="attach-ticket-endpoint-and-cors-hardening"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#attach-ticket-endpoint-and-cors-hardening).

#### SQL Authorization Binding Test Values for Platform Functions and Workspace Data Queries <a href="#sql-authorization-binding-test-values-for-platform-functions-and-workspace-data-queries" id="sql-authorization-binding-test-values-for-platform-functions-and-workspace-data-queries"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#sql-authorization-binding-test-values-for-platform-functions-and-workspace-data-queries).

#### Run-Scoped Token Caching for Integration Calls <a href="#run-scoped-token-caching-for-integration-calls" id="run-scoped-token-caching-for-integration-calls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#run-scoped-token-caching-for-integration-calls).

#### Scribe Sessions Now Born In-Progress <a href="#scribe-sessions-now-born-in-progress" id="scribe-sessions-now-born-in-progress"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#scribe-sessions-now-born-in-progress).

#### Emotion Detection Now Requires GPU and Runs in Half-Precision <a href="#emotion-detection-now-requires-gpu-and-runs-in-half-precision" id="emotion-detection-now-requires-gpu-and-runs-in-half-precision"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#emotion-detection-now-requires-gpu-and-runs-in-half-precision).

#### Intake Source Secret Namespace Change <a href="#intake-source-secret-namespace-change" id="intake-source-secret-namespace-change"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#intake-source-secret-namespace-change).

#### Mesh-Only Certificate Authentication for Internal Service Tokens <a href="#mesh-only-certificate-authentication-for-internal-service-tokens" id="mesh-only-certificate-authentication-for-internal-service-tokens"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#mesh-only-certificate-authentication-for-internal-service-tokens).

#### Mutual TLS Client Authentication for Service Credentials <a href="#mutual-tls-client-authentication-for-service-credentials" id="mutual-tls-client-authentication-for-service-credentials"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#mutual-tls-client-authentication-for-service-credentials).

#### Async Audit Exports and Export Catalog Removal <a href="#async-audit-exports-and-export-catalog-removal" id="async-audit-exports-and-export-catalog-removal"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#async-audit-exports-and-export-catalog-removal).

#### Cross-Workspace Audit Log Reads <a href="#cross-workspace-audit-log-reads" id="cross-workspace-audit-log-reads"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#cross-workspace-audit-log-reads).

#### Enterprise SSO, SAML/OIDC Federation, and MFA Retired <a href="#enterprise-sso-saml-oidc-federation-and-mfa-retired" id="enterprise-sso-saml-oidc-federation-and-mfa-retired"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#enterprise-sso-saml-oidc-federation-and-mfa-retired).

#### Per-Workspace IP Allowlist Removed <a href="#per-workspace-ip-allowlist-removed" id="per-workspace-ip-allowlist-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#per-workspace-ip-allowlist-removed).

#### Per-Workspace Conversation Topic Analytics Controls <a href="#per-workspace-conversation-topic-analytics-controls" id="per-workspace-conversation-topic-analytics-controls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#per-workspace-conversation-topic-analytics-controls).

#### Per-Turn Authorization for Durable Text Sessions <a href="#per-turn-authorization-for-durable-text-sessions" id="per-turn-authorization-for-durable-text-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#per-turn-authorization-for-durable-text-sessions).

#### Authorization-Scoped Parameter Execution for SQL Tools <a href="#authorization-scoped-parameter-execution-for-sql-tools" id="authorization-scoped-parameter-execution-for-sql-tools"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#authorization-scoped-parameter-execution-for-sql-tools).

#### Access Token Lifetime Restored to 15 Minutes <a href="#access-token-lifetime-restored-to-15-minutes" id="access-token-lifetime-restored-to-15-minutes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#access-token-lifetime-restored-to-15-minutes).

#### Async Audit Export with Presigned Download Links <a href="#async-audit-export-with-presigned-download-links" id="async-audit-export-with-presigned-download-links"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#async-audit-export-with-presigned-download-links).

#### Per-Workspace Intake Deduplication Override <a href="#per-workspace-intake-deduplication-override" id="per-workspace-intake-deduplication-override"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#per-workspace-intake-deduplication-override).

#### Source Provenance on Batch Document Intake <a href="#source-provenance-on-batch-document-intake" id="source-provenance-on-batch-document-intake"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#source-provenance-on-batch-document-intake).

#### FHIR Patient Bundle Builder Endpoint <a href="#fhir-patient-bundle-builder-endpoint" id="fhir-patient-bundle-builder-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#fhir-patient-bundle-builder-endpoint).

#### Default Access-Token Lifetime Extended to 24 Hours <a href="#default-access-token-lifetime-extended-to-24-hours" id="default-access-token-lifetime-extended-to-24-hours"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#default-access-token-lifetime-extended-to-24-hours).

#### Authorization-Bound Parameter Schema Hiding <a href="#authorization-bound-parameter-schema-hiding" id="authorization-bound-parameter-schema-hiding"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#authorization-bound-parameter-schema-hiding).

#### Authorization-Bound Parameters for Platform Functions and Workspace Data Queries <a href="#authorization-bound-parameters-for-platform-functions-and-workspace-data-queries" id="authorization-bound-parameters-for-platform-functions-and-workspace-data-queries"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#authorization-bound-parameters-for-platform-functions-and-workspace-data-queries).

#### Extended Default Token TTL for Email OTP Provider Grants <a href="#extended-default-token-ttl-for-email-otp-provider-grants" id="extended-default-token-ttl-for-email-otp-provider-grants"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#extended-default-token-ttl-for-email-otp-provider-grants).

#### Receipt-Backed Background Polling and Delivery Acknowledgement <a href="#receipt-backed-background-polling-and-delivery-acknowledgement" id="receipt-backed-background-polling-and-delivery-acknowledgement"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#receipt-backed-background-polling-and-delivery-acknowledgement).

#### Generate ICD-10-CM Code Suggestions <a href="#generate-icd-10-cm-code-suggestions" id="generate-icd-10-cm-code-suggestions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#generate-icd-10-cm-code-suggestions).

#### Zoom Active-Session Guard Narrowed to Live-Capture States <a href="#zoom-active-session-guard-narrowed-to-live-capture-states" id="zoom-active-session-guard-narrowed-to-live-capture-states"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-active-session-guard-narrowed-to-live-capture-states).

#### Zoom Session Lifecycle and Transcript Finalization <a href="#zoom-session-lifecycle-and-transcript-finalization" id="zoom-session-lifecycle-and-transcript-finalization"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#zoom-session-lifecycle-and-transcript-finalization).

#### Connector Sync-Run Telemetry Routing Change <a href="#connector-sync-run-telemetry-routing-change" id="connector-sync-run-telemetry-routing-change"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#connector-sync-run-telemetry-routing-change).

#### Appointments Endpoint Returns a Rolling Date Window <a href="#appointments-endpoint-returns-a-rolling-date-window" id="appointments-endpoint-returns-a-rolling-date-window"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#appointments-endpoint-returns-a-rolling-date-window).

#### Provider Grants No Longer Require a Pre-Existing Provider Entity <a href="#provider-grants-no-longer-require-a-pre-existing-provider-entity" id="provider-grants-no-longer-require-a-pre-existing-provider-entity"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-03.md#provider-grants-no-longer-require-a-pre-existing-provider-entity).

#### Session Lifecycle Writes, Mode, and Idempotency <a href="#session-lifecycle-writes-mode-and-idempotency" id="session-lifecycle-writes-mode-and-idempotency"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#session-lifecycle-writes-mode-and-idempotency).

#### Nested Session Object on Appointments <a href="#nested-session-object-on-appointments" id="nested-session-object-on-appointments"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#nested-session-object-on-appointments).

#### Appointments Endpoint - Current-Day Listing and Retrieval <a href="#appointments-endpoint-current-day-listing-and-retrieval" id="appointments-endpoint-current-day-listing-and-retrieval"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#appointments-endpoint-current-day-listing-and-retrieval).

#### Admin Provider Access Grant Management for Scribe <a href="#admin-provider-access-grant-management-for-scribe" id="admin-provider-access-grant-management-for-scribe"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#admin-provider-access-grant-management-for-scribe).

#### Source Provenance and PHI-Gated Filenames in the Analytical Catalog <a href="#source-provenance-and-phi-gated-filenames-in-the-analytical-catalog" id="source-provenance-and-phi-gated-filenames-in-the-analytical-catalog"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#source-provenance-and-phi-gated-filenames-in-the-analytical-catalog).

#### Provider-M2M Act-As-by-Email Delegation <a href="#provider-m2m-act-as-by-email-delegation" id="provider-m2m-act-as-by-email-delegation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#provider-m2m-act-as-by-email-delegation).

#### External Auth Claims Mapping for Customer-Attested Authorization <a href="#external-auth-claims-mapping-for-customer-attested-authorization" id="external-auth-claims-mapping-for-customer-attested-authorization"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#external-auth-claims-mapping-for-customer-attested-authorization).

#### Shared LLM Client Lifecycle for Production Evals and Insights <a href="#shared-llm-client-lifecycle-for-production-evals-and-insights" id="shared-llm-client-lifecycle-for-production-evals-and-insights"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#shared-llm-client-lifecycle-for-production-evals-and-insights).

#### Approval Rejection Closes Approval State Cleanly <a href="#approval-rejection-closes-approval-state-cleanly" id="approval-rejection-closes-approval-state-cleanly"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#approval-rejection-closes-approval-state-cleanly).

#### Voice Provider Prompt Aligned with Runtime Tool Capabilities <a href="#voice-provider-prompt-aligned-with-runtime-tool-capabilities" id="voice-provider-prompt-aligned-with-runtime-tool-capabilities"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#voice-provider-prompt-aligned-with-runtime-tool-capabilities).

#### Streaming Attach-Ticket Handshake Enforcement <a href="#streaming-attach-ticket-handshake-enforcement" id="streaming-attach-ticket-handshake-enforcement"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#streaming-attach-ticket-handshake-enforcement).

#### Token Exchange - Browser Attach Tickets for Streaming Sessions <a href="#token-exchange-browser-attach-tickets-for-streaming-sessions" id="token-exchange-browser-attach-tickets-for-streaming-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#token-exchange-browser-attach-tickets-for-streaming-sessions).

#### Provider M2M Client Credentials - Machine-to-Machine Provider Tokens <a href="#provider-m2m-client-credentials-machine-to-machine-provider-tokens" id="provider-m2m-client-credentials-machine-to-machine-provider-tokens"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#provider-m2m-client-credentials-machine-to-machine-provider-tokens).

#### Internal Auth Simplification - Shared Secrets Retired for Cluster-Internal Dispatch <a href="#internal-auth-simplification-shared-secrets-retired-for-cluster-internal-dispatch" id="internal-auth-simplification-shared-secrets-retired-for-cluster-internal-dispatch"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#internal-auth-simplification-shared-secrets-retired-for-cluster-internal-dispatch).

#### Environment Variable Cleanup - Four Runtime Knobs Retired <a href="#environment-variable-cleanup-four-runtime-knobs-retired" id="environment-variable-cleanup-four-runtime-knobs-retired"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#environment-variable-cleanup-four-runtime-knobs-retired).

#### Empty Tool Description Warning for Realtime Voice Sessions <a href="#empty-tool-description-warning-for-realtime-voice-sessions" id="empty-tool-description-warning-for-realtime-voice-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#empty-tool-description-warning-for-realtime-voice-sessions).

#### Graph Tool Instructions Preserved for Realtime Voice Sessions <a href="#graph-tool-instructions-preserved-for-realtime-voice-sessions" id="graph-tool-instructions-preserved-for-realtime-voice-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#graph-tool-instructions-preserved-for-realtime-voice-sessions).

#### Structural Tool-Calling Enforcement for Realtime Voice Sessions - Reverted <a href="#structural-tool-calling-enforcement-for-realtime-voice-sessions-reverted" id="structural-tool-calling-enforcement-for-realtime-voice-sessions-reverted"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#structural-tool-calling-enforcement-for-realtime-voice-sessions-reverted).

#### Autonomous Tool Calling for Realtime Voice Sessions <a href="#autonomous-tool-calling-for-realtime-voice-sessions" id="autonomous-tool-calling-for-realtime-voice-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#autonomous-tool-calling-for-realtime-voice-sessions).

#### Per-Modality Voice COGS Tracking <a href="#per-modality-voice-cogs-tracking" id="per-modality-voice-cogs-tracking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#per-modality-voice-cogs-tracking).

#### Workspace-Level Allocation Rate Limit and Fleet Exhaustion Visibility <a href="#workspace-level-allocation-rate-limit-and-fleet-exhaustion-visibility" id="workspace-level-allocation-rate-limit-and-fleet-exhaustion-visibility"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#workspace-level-allocation-rate-limit-and-fleet-exhaustion-visibility).

#### External Identity Binding Documentation Consolidated <a href="#external-identity-binding-documentation-consolidated" id="external-identity-binding-documentation-consolidated"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#external-identity-binding-documentation-consolidated).

#### Environment Configuration Simplified - Volume Paths, Transcript Settings, and Connector URL <a href="#environment-configuration-simplified-volume-paths-transcript-settings-and-connector-url" id="environment-configuration-simplified-volume-paths-transcript-settings-and-connector-url"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#environment-configuration-simplified-volume-paths-transcript-settings-and-connector-url).

#### Drive Sync Resilience - Interrupted Syncs No Longer Strand Files <a href="#drive-sync-resilience-interrupted-syncs-no-longer-strand-files" id="drive-sync-resilience-interrupted-syncs-no-longer-strand-files"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#drive-sync-resilience-interrupted-syncs-no-longer-strand-files).

#### Simplified Rolling-Transcript Storage Key Layout <a href="#simplified-rolling-transcript-storage-key-layout" id="simplified-rolling-transcript-storage-key-layout"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#simplified-rolling-transcript-storage-key-layout).

#### Feature Gates Retired - Six Capabilities Now Always On <a href="#feature-gates-retired-six-capabilities-now-always-on" id="feature-gates-retired-six-capabilities-now-always-on"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#feature-gates-retired-six-capabilities-now-always-on).

#### Required Tool Retry for Realtime Voice Sessions <a href="#required-tool-retry-for-realtime-voice-sessions" id="required-tool-retry-for-realtime-voice-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#required-tool-retry-for-realtime-voice-sessions).

#### Voice Tool Authorization Aligned Across Playground and Phone Calls <a href="#voice-tool-authorization-aligned-across-playground-and-phone-calls" id="voice-tool-authorization-aligned-across-playground-and-phone-calls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#voice-tool-authorization-aligned-across-playground-and-phone-calls).

#### Playground Voice Test Calls Use the Configured Voice Provider <a href="#playground-voice-test-calls-use-the-configured-voice-provider" id="playground-voice-test-calls-use-the-configured-voice-provider"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#playground-voice-test-calls-use-the-configured-voice-provider).

#### Exhaustive Skill Reference Scanning on Delete <a href="#exhaustive-skill-reference-scanning-on-delete" id="exhaustive-skill-reference-scanning-on-delete"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#exhaustive-skill-reference-scanning-on-delete).

#### Tiered Permission Enforcement for Workspace Data Query Invocation <a href="#tiered-permission-enforcement-for-workspace-data-query-invocation" id="tiered-permission-enforcement-for-workspace-data-query-invocation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#tiered-permission-enforcement-for-workspace-data-query-invocation).

#### Permission-Based Access Control for API Keys and MCP Tools <a href="#permission-based-access-control-for-api-keys-and-mcp-tools" id="permission-based-access-control-for-api-keys-and-mcp-tools"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#permission-based-access-control-for-api-keys-and-mcp-tools).

#### Compliance Routes Require Audit.view Permission <a href="#compliance-routes-require-audit.view-permission" id="compliance-routes-require-audit.view-permission"></a>

Continue with the [archived entry](https://docs.concurrence.com/api-reference/change-logs/pages/ewwxu4XauxIhtWzhNWYX#compliance-routes-require-audit.view-permission).

#### External Identity Binding for Memory v2 <a href="#external-identity-binding-for-memory-v2" id="external-identity-binding-for-memory-v2"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#external-identity-binding-for-memory-v2).

#### Session Allocation for Streaming Workers <a href="#session-allocation-for-streaming-workers" id="session-allocation-for-streaming-workers"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#session-allocation-for-streaming-workers).

#### Resumable WebSocket Streaming for Browser Recording Sessions <a href="#resumable-websocket-streaming-for-browser-recording-sessions" id="resumable-websocket-streaming-for-browser-recording-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#resumable-websocket-streaming-for-browser-recording-sessions).

#### Use-Case Ownership Endpoints and List Proxy Removed <a href="#use-case-ownership-endpoints-and-list-proxy-removed" id="use-case-ownership-endpoints-and-list-proxy-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#use-case-ownership-endpoints-and-list-proxy-removed).

#### Unified Default and Custom Memory Dimensions <a href="#unified-default-and-custom-memory-dimensions" id="unified-default-and-custom-memory-dimensions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#unified-default-and-custom-memory-dimensions).

#### Patient-Scoped Memory Expansion Tool <a href="#patient-scoped-memory-expansion-tool" id="patient-scoped-memory-expansion-tool"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#patient-scoped-memory-expansion-tool).

#### Version-List Endpoints Scoped to Caller's Workspace <a href="#version-list-endpoints-scoped-to-callers-workspace" id="version-list-endpoints-scoped-to-callers-workspace"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#version-list-endpoints-scoped-to-callers-workspace).

{% hint style="info" %}
This page covers v0.9.400 and later. Older releases live in the archive pages: [v0.9.250 - v0.9.399](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-9-250-399.md), [v0.9.100 - v0.9.249](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-9-100-249.md), and [v0.6.0 - v0.9.99](/api-reference/change-logs/amigo-api/amigo-api-archive-v0-6-v0-9-99.md).
{% endhint %}

#### Path-Bearing MCP Resource URIs and SAML SP Base Decoupling <a href="#path-bearing-mcp-resource-uris-and-saml-sp-base-decoupling" id="path-bearing-mcp-resource-uris-and-saml-sp-base-decoupling"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#path-bearing-mcp-resource-uris-and-saml-sp-base-decoupling).

#### Healthie Inbound Connector <a href="#healthie-inbound-connector" id="healthie-inbound-connector"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#healthie-inbound-connector).

#### Version-List Endpoints Scoped to Caller's Workspace <a href="#version-list-endpoints-scoped-to-callers-workspace-1" id="version-list-endpoints-scoped-to-callers-workspace-1"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#version-list-endpoints-scoped-to-callers-workspace-1).

#### Canonical Pagination for List Endpoints <a href="#canonical-pagination-for-list-endpoints" id="canonical-pagination-for-list-endpoints"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#canonical-pagination-for-list-endpoints).

#### OAuth Authorization Server Discovery and Updated Model Routing <a href="#oauth-authorization-server-discovery-and-updated-model-routing" id="oauth-authorization-server-discovery-and-updated-model-routing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#oauth-authorization-server-discovery-and-updated-model-routing).

#### External Identity Bindings for Returning Users <a href="#external-identity-bindings-for-returning-users" id="external-identity-bindings-for-returning-users"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#external-identity-bindings-for-returning-users).

#### Scribe Notes, Summaries, and Checklists <a href="#scribe-notes-summaries-and-checklists" id="scribe-notes-summaries-and-checklists"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#scribe-notes-summaries-and-checklists).

#### Event-Based Triggers Now Match Live Workspace Events <a href="#event-based-triggers-now-match-live-workspace-events" id="event-based-triggers-now-match-live-workspace-events"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#event-based-triggers-now-match-live-workspace-events).

#### Conversation Starters and Typed Real-Time Voice Controls <a href="#conversation-starters-and-typed-real-time-voice-controls" id="conversation-starters-and-typed-real-time-voice-controls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#conversation-starters-and-typed-real-time-voice-controls).

#### Evaluation Quality Trends and Conversation-Level Simulation Verdicts <a href="#evaluation-quality-trends-and-conversation-level-simulation-verdicts" id="evaluation-quality-trends-and-conversation-level-simulation-verdicts"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-04.md#evaluation-quality-trends-and-conversation-level-simulation-verdicts).

#### Durable Dataset Updates and Cloud-Storage File Export <a href="#durable-dataset-updates-and-cloud-storage-file-export" id="durable-dataset-updates-and-cloud-storage-file-export"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#durable-dataset-updates-and-cloud-storage-file-export).

#### Classic Conversation History Import <a href="#classic-conversation-history-import" id="classic-conversation-history-import"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#classic-conversation-history-import).

#### Unified Run Detail, Trajectory, and Non-Voice Authored Turns <a href="#unified-run-detail-trajectory-and-non-voice-authored-turns" id="unified-run-detail-trajectory-and-non-voice-authored-turns"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#unified-run-detail-trajectory-and-non-voice-authored-turns).

#### API-Key Permission Catalog <a href="#api-key-permission-catalog" id="api-key-permission-catalog"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#api-key-permission-catalog).

#### Per-Question (Turn-Level) Metering Attribution <a href="#per-question-turn-level-metering-attribution" id="per-question-turn-level-metering-attribution"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#per-question-turn-level-metering-attribution).

#### Universal Metering - All Workspaces Metered <a href="#universal-metering-all-workspaces-metered" id="universal-metering-all-workspaces-metered"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#universal-metering-all-workspaces-metered).

#### Interactive API Documentation (ReDoc) <a href="#interactive-api-documentation-redoc" id="interactive-api-documentation-redoc"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#interactive-api-documentation-redoc).

#### Google Drive Intake - Native File Export and Shortcut Resolution <a href="#google-drive-intake-native-file-export-and-shortcut-resolution" id="google-drive-intake-native-file-export-and-shortcut-resolution"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#google-drive-intake-native-file-export-and-shortcut-resolution).

#### Optional Domain-Wide Delegation for Google Drive Intake Sources <a href="#optional-domain-wide-delegation-for-google-drive-intake-sources" id="optional-domain-wide-delegation-for-google-drive-intake-sources"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#optional-domain-wide-delegation-for-google-drive-intake-sources).

#### AI-Powered Clinical Note Generation and Finalization <a href="#ai-powered-clinical-note-generation-and-finalization" id="ai-powered-clinical-note-generation-and-finalization"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#ai-powered-clinical-note-generation-and-finalization).

#### Configurable Output Voice for Real-Time Speech-to-Speech <a href="#configurable-output-voice-for-real-time-speech-to-speech" id="configurable-output-voice-for-real-time-speech-to-speech"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#configurable-output-voice-for-real-time-speech-to-speech).

#### Default Realtime Voice Model Updated <a href="#default-realtime-voice-model-updated" id="default-realtime-voice-model-updated"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#default-realtime-voice-model-updated).

#### Per-Conversation Token Attribution for Text Channels <a href="#per-conversation-token-attribution-for-text-channels" id="per-conversation-token-attribution-for-text-channels"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#per-conversation-token-attribution-for-text-channels).

#### Bulk Import Endpoint for Conversation Migration <a href="#bulk-import-endpoint-for-conversation-migration" id="bulk-import-endpoint-for-conversation-migration"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#bulk-import-endpoint-for-conversation-migration).

#### Channel-Agnostic Eval Quality Analytics Endpoint <a href="#channel-agnostic-eval-quality-analytics-endpoint" id="channel-agnostic-eval-quality-analytics-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#channel-agnostic-eval-quality-analytics-endpoint).

#### Durable Background Reply Delivery, SMS Opt-In, Turn Idempotency, and Conversation Close <a href="#durable-background-reply-delivery-sms-opt-in-turn-idempotency-and-conversation-close" id="durable-background-reply-delivery-sms-opt-in-turn-idempotency-and-conversation-close"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#durable-background-reply-delivery-sms-opt-in-turn-idempotency-and-conversation-close).

#### Analytics Dashboard KPI Endpoint Typed and Operator Performance Aggregation Fixed <a href="#analytics-dashboard-kpi-endpoint-typed-and-operator-performance-aggregation-fixed" id="analytics-dashboard-kpi-endpoint-typed-and-operator-performance-aggregation-fixed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#analytics-dashboard-kpi-endpoint-typed-and-operator-performance-aggregation-fixed).

#### Legacy Read Endpoints Removed Behind Unified Runs Surface <a href="#legacy-read-endpoints-removed-behind-unified-runs-surface" id="legacy-read-endpoints-removed-behind-unified-runs-surface"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#legacy-read-endpoints-removed-behind-unified-runs-surface).

#### Per-Call Media Isolation Now Universal <a href="#per-call-media-isolation-now-universal" id="per-call-media-isolation-now-universal"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#per-call-media-isolation-now-universal).

#### API-Key Role and Permission Catalog Endpoint <a href="#api-key-role-and-permission-catalog-endpoint" id="api-key-role-and-permission-catalog-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#api-key-role-and-permission-catalog-endpoint).

#### Framework Run Trajectory Endpoint <a href="#framework-run-trajectory-endpoint" id="framework-run-trajectory-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#framework-run-trajectory-endpoint).

#### Intake Dataset Update Runs - One-Click Sync, Prepare, and Publish <a href="#intake-dataset-update-runs-one-click-sync-prepare-and-publish" id="intake-dataset-update-runs-one-click-sync-prepare-and-publish"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#intake-dataset-update-runs-one-click-sync-prepare-and-publish).

#### EHR Appointment Reschedule Reliability - Patient Identity and Edit Verification <a href="#ehr-appointment-reschedule-reliability-patient-identity-and-edit-verification" id="ehr-appointment-reschedule-reliability-patient-identity-and-edit-verification"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#ehr-appointment-reschedule-reliability-patient-identity-and-edit-verification).

#### Durable EHR Appointment Sync, Delete Detection, and Faster Detail Refresh <a href="#durable-ehr-appointment-sync-delete-detection-and-faster-detail-refresh" id="durable-ehr-appointment-sync-delete-detection-and-faster-detail-refresh"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#durable-ehr-appointment-sync-delete-detection-and-faster-detail-refresh).

#### EHR Patient Creation No Longer Auto-Assigns Intake Packet Cohort <a href="#ehr-patient-creation-no-longer-auto-assigns-intake-packet-cohort" id="ehr-patient-creation-no-longer-auto-assigns-intake-packet-cohort"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#ehr-patient-creation-no-longer-auto-assigns-intake-packet-cohort).

#### Streaming Intake File Downloads <a href="#streaming-intake-file-downloads" id="streaming-intake-file-downloads"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#streaming-intake-file-downloads).

#### Single-Run Detail Endpoint <a href="#single-run-detail-endpoint" id="single-run-detail-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#single-run-detail-endpoint).

#### Non-Voice Takeover Route Dispatch and Authored-Turn Endpoint <a href="#non-voice-takeover-route-dispatch-and-authored-turn-endpoint" id="non-voice-takeover-route-dispatch-and-authored-turn-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#non-voice-takeover-route-dispatch-and-authored-turn-endpoint).

#### Non-Voice Operator Takeover - Authored-Turn Send-Gate <a href="#non-voice-operator-takeover-authored-turn-send-gate" id="non-voice-operator-takeover-authored-turn-send-gate"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#non-voice-operator-takeover-authored-turn-send-gate).

#### Multi-Value OR Filters on Runs List and Summary <a href="#multi-value-or-filters-on-runs-list-and-summary" id="multi-value-or-filters-on-runs-list-and-summary"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#multi-value-or-filters-on-runs-list-and-summary).

#### Scribe Sessions API <a href="#scribe-sessions-api" id="scribe-sessions-api"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#scribe-sessions-api).

#### Paused Conversation Run Status <a href="#paused-conversation-run-status" id="paused-conversation-run-status"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#paused-conversation-run-status).

#### Run-Scoped Switch-Mode and Access-Token <a href="#run-scoped-switch-mode-and-access-token" id="run-scoped-switch-mode-and-access-token"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#run-scoped-switch-mode-and-access-token).

#### Simulation Recovery and Metering Accuracy <a href="#simulation-recovery-and-metering-accuracy" id="simulation-recovery-and-metering-accuracy"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#simulation-recovery-and-metering-accuracy).

#### Run-Scoped Takeover and Handback <a href="#run-scoped-takeover-and-handback" id="run-scoped-takeover-and-handback"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#run-scoped-takeover-and-handback).

#### Promote Playground Session to Coverage Run <a href="#promote-playground-session-to-coverage-run" id="promote-playground-session-to-coverage-run"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#promote-playground-session-to-coverage-run).

#### Live Built-in Tool Catalog <a href="#live-built-in-tool-catalog" id="live-built-in-tool-catalog"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#live-built-in-tool-catalog).

#### Run-Scoped Operator Guidance <a href="#run-scoped-operator-guidance" id="run-scoped-operator-guidance"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#run-scoped-operator-guidance).

#### Unknown sort\_by Fields Now Rejected with 422 <a href="#unknown-sort_by-fields-now-rejected-with-422" id="unknown-sort_by-fields-now-rejected-with-422"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#unknown-sort_by-fields-now-rejected-with-422).

#### Skill Sampling Parameters Threaded Through Tester <a href="#skill-sampling-parameters-threaded-through-tester" id="skill-sampling-parameters-threaded-through-tester"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#skill-sampling-parameters-threaded-through-tester).

#### Simulation Run Failure Reasons and Suite Completeness <a href="#simulation-run-failure-reasons-and-suite-completeness" id="simulation-run-failure-reasons-and-suite-completeness"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#simulation-run-failure-reasons-and-suite-completeness).

#### Drain-Aware Simulation Executor with Instant Re-Drive Handoff <a href="#drain-aware-simulation-executor-with-instant-re-drive-handoff" id="drain-aware-simulation-executor-with-instant-re-drive-handoff"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#drain-aware-simulation-executor-with-instant-re-drive-handoff).

#### Simulation Run Re-Drive and Automatic Recovery <a href="#simulation-run-re-drive-and-automatic-recovery" id="simulation-run-re-drive-and-automatic-recovery"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#simulation-run-re-drive-and-automatic-recovery).

#### Orphaned Simulation Run Reclaim and Graceful Cancellation <a href="#orphaned-simulation-run-reclaim-and-graceful-cancellation" id="orphaned-simulation-run-reclaim-and-graceful-cancellation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#orphaned-simulation-run-reclaim-and-graceful-cancellation).

#### Dynamic Behaviors Feature Removed <a href="#dynamic-behaviors-feature-removed" id="dynamic-behaviors-feature-removed"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#dynamic-behaviors-feature-removed).

#### Billable Token Metering on Raw Real-Time Voice Runtime <a href="#billable-token-metering-on-raw-real-time-voice-runtime" id="billable-token-metering-on-raw-real-time-voice-runtime"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#billable-token-metering-on-raw-real-time-voice-runtime).

#### Reasoning Effort Pinned for Realtime Reasoning Models <a href="#reasoning-effort-pinned-for-realtime-reasoning-models" id="reasoning-effort-pinned-for-realtime-reasoning-models"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#reasoning-effort-pinned-for-realtime-reasoning-models).

#### Full-Duplex Voice Family Is Generally Available <a href="#full-duplex-voice-family-is-generally-available" id="full-duplex-voice-family-is-generally-available"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#full-duplex-voice-family-is-generally-available).

#### Guidance Delivery Status Honesty, Transcript Read-Audit, and Blueprint GA Status <a href="#guidance-delivery-status-honesty-transcript-read-audit-and-blueprint-ga-status" id="guidance-delivery-status-honesty-transcript-read-audit-and-blueprint-ga-status"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#guidance-delivery-status-honesty-transcript-read-audit-and-blueprint-ga-status).

#### Durable Audit Event for Operator Whisper Guidance <a href="#durable-audit-event-for-operator-whisper-guidance" id="durable-audit-event-for-operator-whisper-guidance"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#durable-audit-event-for-operator-whisper-guidance).

#### Surface Responses Expose Review and Archive Provenance <a href="#surface-responses-expose-review-and-archive-provenance" id="surface-responses-expose-review-and-archive-provenance"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-05.md#surface-responses-expose-review-and-archive-provenance).

#### Audit Export Downloads, Actor Email on Audit Entries, Permission Enforcement <a href="#audit-export-downloads-actor-email-on-audit-entries-permission-enforcement" id="audit-export-downloads-actor-email-on-audit-entries-permission-enforcement"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#audit-export-downloads-actor-email-on-audit-entries-permission-enforcement).

#### Turn Identity on Streaming Done Frame <a href="#turn-identity-on-streaming-done-frame" id="turn-identity-on-streaming-done-frame"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#turn-identity-on-streaming-done-frame).

#### Voice Model Family Rename <a href="#voice-model-family-rename" id="voice-model-family-rename"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#voice-model-family-rename).

#### Full-Duplex Voice Model Family <a href="#full-duplex-voice-model-family" id="full-duplex-voice-model-family"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#full-duplex-voice-model-family).

#### Stable Turn Identity on Conversation Turns <a href="#stable-turn-identity-on-conversation-turns" id="stable-turn-identity-on-conversation-turns"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#stable-turn-identity-on-conversation-turns).

#### Text Conversation Lifecycle Hardening <a href="#text-conversation-lifecycle-hardening" id="text-conversation-lifecycle-hardening"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#text-conversation-lifecycle-hardening).

#### Normalized Checks View for Simulation Evaluation Results <a href="#normalized-checks-view-for-simulation-evaluation-results" id="normalized-checks-view-for-simulation-evaluation-results"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#normalized-checks-view-for-simulation-evaluation-results).

#### Escalation Policy and Risk Signal Configuration Removed from Service API <a href="#escalation-policy-and-risk-signal-configuration-removed-from-service-api" id="escalation-policy-and-risk-signal-configuration-removed-from-service-api"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#escalation-policy-and-risk-signal-configuration-removed-from-service-api).

#### Per-Turn Prompt Log Emission for Voice Calls <a href="#per-turn-prompt-log-emission-for-voice-calls" id="per-turn-prompt-log-emission-for-voice-calls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#per-turn-prompt-log-emission-for-voice-calls).

#### LLM Token Metering for Conversation Navigation and Production-Call Evaluation <a href="#llm-token-metering-for-conversation-navigation-and-production-call-evaluation" id="llm-token-metering-for-conversation-navigation-and-production-call-evaluation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#llm-token-metering-for-conversation-navigation-and-production-call-evaluation).

#### LLM Token Metering for Framework Agent Runs <a href="#llm-token-metering-for-framework-agent-runs" id="llm-token-metering-for-framework-agent-runs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#llm-token-metering-for-framework-agent-runs).

#### Audio Verification Removed - Reduced Per-Turn Voice Latency <a href="#audio-verification-removed-reduced-per-turn-voice-latency" id="audio-verification-removed-reduced-per-turn-voice-latency"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#audio-verification-removed-reduced-per-turn-voice-latency).

#### Returning-User Entry State for Known Callers <a href="#returning-user-entry-state-for-known-callers" id="returning-user-entry-state-for-known-callers"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#returning-user-entry-state-for-known-callers).

#### Legacy Clinical Event Review Surface Retired <a href="#legacy-clinical-event-review-surface-retired" id="legacy-clinical-event-review-surface-retired"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#legacy-clinical-event-review-surface-retired).

#### External Write Proposal Review API <a href="#external-write-proposal-review-api" id="external-write-proposal-review-api"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#external-write-proposal-review-api).

#### External Write Proposal Delivery <a href="#external-write-proposal-delivery" id="external-write-proposal-delivery"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#external-write-proposal-delivery).

#### Self-Serve Custom Memory Dimensions via Enrichment Key Tags <a href="#self-serve-custom-memory-dimensions-via-enrichment-key-tags" id="self-serve-custom-memory-dimensions-via-enrichment-key-tags"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#self-serve-custom-memory-dimensions-via-enrichment-key-tags).

#### Real-Time Live Voice Overlay on Runs List and Summary <a href="#real-time-live-voice-overlay-on-runs-list-and-summary" id="real-time-live-voice-overlay-on-runs-list-and-summary"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#real-time-live-voice-overlay-on-runs-list-and-summary).

#### Unified Runs Summary Endpoint <a href="#unified-runs-summary-endpoint" id="unified-runs-summary-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#unified-runs-summary-endpoint).

#### Simulation Runs Summary Endpoint <a href="#simulation-runs-summary-endpoint" id="simulation-runs-summary-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#simulation-runs-summary-endpoint).

#### Per-Request Wait-for-Final and Filler Suppression for Background Tools <a href="#per-request-wait-for-final-and-filler-suppression-for-background-tools" id="per-request-wait-for-final-and-filler-suppression-for-background-tools"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#per-request-wait-for-final-and-filler-suppression-for-background-tools).

#### JWT Bearer Integration Auth - RFC 7523 Flow Selection <a href="#jwt-bearer-integration-auth-rfc-7523-flow-selection" id="jwt-bearer-integration-auth-rfc-7523-flow-selection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#jwt-bearer-integration-auth-rfc-7523-flow-selection).

#### Server-Side Operator Identity Enforcement <a href="#server-side-operator-identity-enforcement" id="server-side-operator-identity-enforcement"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#server-side-operator-identity-enforcement).

#### Event-Driven Delivery for Background Tools on Non-Live Channels <a href="#event-driven-delivery-for-background-tools-on-non-live-channels" id="event-driven-delivery-for-background-tools-on-non-live-channels"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#event-driven-delivery-for-background-tools-on-non-live-channels).

#### Identity Binding Test Values in Simulation Sessions <a href="#identity-binding-test-values-in-simulation-sessions" id="identity-binding-test-values-in-simulation-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#identity-binding-test-values-in-simulation-sessions).

#### Eager Post-Conversation Evaluation for All Channels <a href="#eager-post-conversation-evaluation-for-all-channels" id="eager-post-conversation-evaluation-for-all-channels"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#eager-post-conversation-evaluation-for-all-channels).

#### Triggerable Event Type Validation <a href="#triggerable-event-type-validation" id="triggerable-event-type-validation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#triggerable-event-type-validation).

#### Trigger Run Observability Metrics <a href="#trigger-run-observability-metrics" id="trigger-run-observability-metrics"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#trigger-run-observability-metrics).

#### Durable Trigger Run Pipeline <a href="#durable-trigger-run-pipeline" id="durable-trigger-run-pipeline"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#durable-trigger-run-pipeline).

#### SMS Pre-Send Content-Compliance Check <a href="#sms-pre-send-content-compliance-check" id="sms-pre-send-content-compliance-check"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#sms-pre-send-content-compliance-check).

#### Eager Post-Call Production Evaluation <a href="#eager-post-call-production-evaluation" id="eager-post-call-production-evaluation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#eager-post-call-production-evaluation).

#### Run List Enrichment - Entity Name and Service Name <a href="#run-list-enrichment-entity-name-and-service-name" id="run-list-enrichment-entity-name-and-service-name"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#run-list-enrichment-entity-name-and-service-name).

#### Trigger Run Idempotency Guard <a href="#trigger-run-idempotency-guard" id="trigger-run-idempotency-guard"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#trigger-run-idempotency-guard).

#### Durable Trigger Run Processing <a href="#durable-trigger-run-processing" id="durable-trigger-run-processing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#durable-trigger-run-processing).

#### Run List Enrichment - Caller, Direction, Turns, and Outcome <a href="#run-list-enrichment-caller-direction-turns-and-outcome" id="run-list-enrichment-caller-direction-turns-and-outcome"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#run-list-enrichment-caller-direction-turns-and-outcome).

#### Unified Runs List Endpoint <a href="#unified-runs-list-endpoint" id="unified-runs-list-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#unified-runs-list-endpoint).

#### Terminal Lifecycle Marker for Failed and Timed-Out Framework Runs <a href="#terminal-lifecycle-marker-for-failed-and-timed-out-framework-runs" id="terminal-lifecycle-marker-for-failed-and-timed-out-framework-runs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#terminal-lifecycle-marker-for-failed-and-timed-out-framework-runs).

#### Tenant Isolation for Session Event Injection <a href="#tenant-isolation-for-session-event-injection" id="tenant-isolation-for-session-event-injection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#tenant-isolation-for-session-event-injection).

#### Provider Access Grant API with Role-Based Scopes <a href="#provider-access-grant-api-with-role-based-scopes" id="provider-access-grant-api-with-role-based-scopes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#provider-access-grant-api-with-role-based-scopes).

#### Scribe Provider Scopes <a href="#scribe-provider-scopes" id="scribe-provider-scopes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#scribe-provider-scopes).

#### Managed Integrations <a href="#managed-integrations" id="managed-integrations"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#managed-integrations).

#### Agent Runs - Durable List Endpoint <a href="#agent-runs-durable-list-endpoint" id="agent-runs-durable-list-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-runs-durable-list-endpoint).

#### Voice Conversations - Per-Turn Transcript Recovery <a href="#voice-conversations-per-turn-transcript-recovery" id="voice-conversations-per-turn-transcript-recovery"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#voice-conversations-per-turn-transcript-recovery).

#### Agent Runs - Harness Context Endpoint <a href="#agent-runs-harness-context-endpoint" id="agent-runs-harness-context-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-runs-harness-context-endpoint).

#### Agent Runs and Definitions - Drop CrewAI Framework Support <a href="#agent-runs-and-definitions-drop-crewai-framework-support" id="agent-runs-and-definitions-drop-crewai-framework-support"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-runs-and-definitions-drop-crewai-framework-support).

#### Agent Runs - Durable Trajectory Persistence <a href="#agent-runs-durable-trajectory-persistence" id="agent-runs-durable-trajectory-persistence"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-runs-durable-trajectory-persistence).

#### Agent Runs - Native Definition Runs End-to-End <a href="#agent-runs-native-definition-runs-end-to-end" id="agent-runs-native-definition-runs-end-to-end"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-runs-native-definition-runs-end-to-end).

#### Agent Definitions - Native Agent Definition Registry <a href="#agent-definitions-native-agent-definition-registry" id="agent-definitions-native-agent-definition-registry"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#agent-definitions-native-agent-definition-registry).

#### Customer Data Intake - Folder Path Materialization <a href="#customer-data-intake-folder-path-materialization" id="customer-data-intake-folder-path-materialization"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#customer-data-intake-folder-path-materialization).

#### Memory - Clinical State Projection (Phase-2b Structured Dimensions) <a href="#memory-clinical-state-projection-phase-2b-structured-dimensions" id="memory-clinical-state-projection-phase-2b-structured-dimensions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-06.md#memory-clinical-state-projection-phase-2b-structured-dimensions).

#### Metering - Daily Meter Grain, Invoice Summation Fix, and Connector Enrichment Metering <a href="#metering-daily-meter-grain-invoice-summation-fix-and-connector-enrichment-metering" id="metering-daily-meter-grain-invoice-summation-fix-and-connector-enrichment-metering"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#metering-daily-meter-grain-invoice-summation-fix-and-connector-enrichment-metering).

#### Memory - Custom (Layer-2) Dimensions in Extraction <a href="#memory-custom-layer-2-dimensions-in-extraction" id="memory-custom-layer-2-dimensions-in-extraction"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#memory-custom-layer-2-dimensions-in-extraction).

#### Agent Runs - Native Definition Validation <a href="#agent-runs-native-definition-validation" id="agent-runs-native-definition-validation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#agent-runs-native-definition-validation).

#### Agent Runs - Native Run Mode <a href="#agent-runs-native-run-mode" id="agent-runs-native-run-mode"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#agent-runs-native-run-mode).

#### Agent Runs - Actor Attribution and Multi-Agent Trajectory <a href="#agent-runs-actor-attribution-and-multi-agent-trajectory" id="agent-runs-actor-attribution-and-multi-agent-trajectory"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#agent-runs-actor-attribution-and-multi-agent-trajectory).

#### Intake Files - Hide Withdrawn Documents <a href="#intake-files-hide-withdrawn-documents" id="intake-files-hide-withdrawn-documents"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#intake-files-hide-withdrawn-documents).

#### Agent Runs - Dual-Mode Auth, Cache Usage, and Hardening <a href="#agent-runs-dual-mode-auth-cache-usage-and-hardening" id="agent-runs-dual-mode-auth-cache-usage-and-hardening"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#agent-runs-dual-mode-auth-cache-usage-and-hardening).

#### OIDC/SAML Federation - Consumed-Invitation Recovery <a href="#oidc-saml-federation-consumed-invitation-recovery" id="oidc-saml-federation-consumed-invitation-recovery"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#oidc-saml-federation-consumed-invitation-recovery).

#### Workspace-Bound Admin Routes and platform:admin Scope <a href="#workspace-bound-admin-routes-and-platform-admin-scope" id="workspace-bound-admin-routes-and-platform-admin-scope"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#workspace-bound-admin-routes-and-platform-admin-scope).

#### Simulation Performance - Per-Run Metric Breakdown <a href="#simulation-performance-per-run-metric-breakdown" id="simulation-performance-per-run-metric-breakdown"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#simulation-performance-per-run-metric-breakdown).

#### Simulation Performance Overview - Aggregated Run Analytics <a href="#simulation-performance-overview-aggregated-run-analytics" id="simulation-performance-overview-aggregated-run-analytics"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#simulation-performance-overview-aggregated-run-analytics).

#### Agent Runs - Framework Agent Execution <a href="#agent-runs-framework-agent-execution" id="agent-runs-framework-agent-execution"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#agent-runs-framework-agent-execution).

#### Fleet Status - Tool-Runner Fleet Observability <a href="#fleet-status-tool-runner-fleet-observability" id="fleet-status-tool-runner-fleet-observability"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#fleet-status-tool-runner-fleet-observability).

#### Cross-Provider Identity Linking for Invited Operators <a href="#cross-provider-identity-linking-for-invited-operators" id="cross-provider-identity-linking-for-invited-operators"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#cross-provider-identity-linking-for-invited-operators).

#### Source Change Routing - Document Withdrawal and Cursor Persistence <a href="#source-change-routing-document-withdrawal-and-cursor-persistence" id="source-change-routing-document-withdrawal-and-cursor-persistence"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#source-change-routing-document-withdrawal-and-cursor-persistence).

#### Folder-Listing Diff Deletion Fallback for Folder-Only Access <a href="#folder-listing-diff-deletion-fallback-for-folder-only-access" id="folder-listing-diff-deletion-fallback-for-folder-only-access"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#folder-listing-diff-deletion-fallback-for-folder-only-access).

#### Incremental Change Detection for Drive-Based Data Sources <a href="#incremental-change-detection-for-drive-based-data-sources" id="incremental-change-detection-for-drive-based-data-sources"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#incremental-change-detection-for-drive-based-data-sources).

#### Epic SMART Backend Services JWKS Endpoint <a href="#epic-smart-backend-services-jwks-endpoint" id="epic-smart-backend-services-jwks-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#epic-smart-backend-services-jwks-endpoint).

#### Trigger Run History - Durable Execution Log for Triggers <a href="#trigger-run-history-durable-execution-log-for-triggers" id="trigger-run-history-durable-execution-log-for-triggers"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#trigger-run-history-durable-execution-log-for-triggers).

#### Document Embeddings in Intake Materializer <a href="#document-embeddings-in-intake-materializer" id="document-embeddings-in-intake-materializer"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#document-embeddings-in-intake-materializer).

#### Intake Materializations List Endpoint <a href="#intake-materializations-list-endpoint" id="intake-materializations-list-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#intake-materializations-list-endpoint).

#### Use Case Ownership Endpoints <a href="#use-case-ownership-endpoints" id="use-case-ownership-endpoints"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#use-case-ownership-endpoints).

#### Intake Materialization Endpoint <a href="#intake-materialization-endpoint" id="intake-materialization-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#intake-materialization-endpoint).

#### Async Tool Lifecycle Signaling <a href="#async-tool-lifecycle-signaling" id="async-tool-lifecycle-signaling"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#async-tool-lifecycle-signaling).

#### Per-Credential Rate Limiting on MCP Endpoint <a href="#per-credential-rate-limiting-on-mcp-endpoint" id="per-credential-rate-limiting-on-mcp-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#per-credential-rate-limiting-on-mcp-endpoint).

#### Channel-Generic Conversation Lifecycle API - Start Outbound & Switch Channel <a href="#channel-generic-conversation-lifecycle-api-start-outbound-and-switch-channel" id="channel-generic-conversation-lifecycle-api-start-outbound-and-switch-channel"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#channel-generic-conversation-lifecycle-api-start-outbound-and-switch-channel).

#### Tool-Dispatch Lifecycle Axis & Write-Time Guardrails <a href="#tool-dispatch-lifecycle-axis-and-write-time-guardrails" id="tool-dispatch-lifecycle-axis-and-write-time-guardrails"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#tool-dispatch-lifecycle-axis-and-write-time-guardrails).

#### Remove Channels API (SES Setup + Email Templates) <a href="#remove-channels-api-ses-setup--email-templates" id="remove-channels-api-ses-setup--email-templates"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#remove-channels-api-ses-setup--email-templates).

#### OAuth2 Client Last-Used Tracking <a href="#oauth2-client-last-used-tracking" id="oauth2-client-last-used-tracking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#oauth2-client-last-used-tracking).

#### OAuth2 Scope Documentation on Channel Manager Routes <a href="#oauth2-scope-documentation-on-channel-manager-routes" id="oauth2-scope-documentation-on-channel-manager-routes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#oauth2-scope-documentation-on-channel-manager-routes).

#### Production Eval Verdicts <a href="#production-eval-verdicts" id="production-eval-verdicts"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#production-eval-verdicts).

#### Slot Provider Display Name Resolution <a href="#slot-provider-display-name-resolution" id="slot-provider-display-name-resolution"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#slot-provider-display-name-resolution).

#### Per-Tenant Intake Upload Isolation by Default <a href="#per-tenant-intake-upload-isolation-by-default" id="per-tenant-intake-upload-isolation-by-default"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#per-tenant-intake-upload-isolation-by-default).

#### Extended Zoom Bot Session Duration and Optional Duration Limits <a href="#extended-zoom-bot-session-duration-and-optional-duration-limits" id="extended-zoom-bot-session-duration-and-optional-duration-limits"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#extended-zoom-bot-session-duration-and-optional-duration-limits).

#### PHI/PII Scrubbed from Channel Manager Logs <a href="#phi-pii-scrubbed-from-channel-manager-logs" id="phi-pii-scrubbed-from-channel-manager-logs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#phi-pii-scrubbed-from-channel-manager-logs).

#### Semantic Memory Consolidation <a href="#semantic-memory-consolidation" id="semantic-memory-consolidation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#semantic-memory-consolidation).

#### Per-Client Rate Limiting on Channel Manager Authenticated Routes <a href="#per-client-rate-limiting-on-channel-manager-authenticated-routes" id="per-client-rate-limiting-on-channel-manager-authenticated-routes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#per-client-rate-limiting-on-channel-manager-authenticated-routes).

#### Appointment Participant Resolution and Scheduled Rehydration <a href="#appointment-participant-resolution-and-scheduled-rehydration" id="appointment-participant-resolution-and-scheduled-rehydration"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#appointment-participant-resolution-and-scheduled-rehydration).

#### Mid-Session Patient Binding for Voice and Text <a href="#mid-session-patient-binding-for-voice-and-text" id="mid-session-patient-binding-for-voice-and-text"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#mid-session-patient-binding-for-voice-and-text).

#### Enriched Eval Transcripts and Rationale on All Eval Kinds <a href="#enriched-eval-transcripts-and-rationale-on-all-eval-kinds" id="enriched-eval-transcripts-and-rationale-on-all-eval-kinds"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#enriched-eval-transcripts-and-rationale-on-all-eval-kinds).

#### Batch Document Extraction and Processing Manifest <a href="#batch-document-extraction-and-processing-manifest" id="batch-document-extraction-and-processing-manifest"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#batch-document-extraction-and-processing-manifest).

#### Persisted Background Tool Completions <a href="#persisted-background-tool-completions" id="persisted-background-tool-completions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#persisted-background-tool-completions).

#### EHR Write-Back Endpoint for Patient Creation and Appointment Booking <a href="#ehr-write-back-endpoint-for-patient-creation-and-appointment-booking" id="ehr-write-back-endpoint-for-patient-creation-and-appointment-booking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#ehr-write-back-endpoint-for-patient-creation-and-appointment-booking).

#### Stable Document Resolution for Connector Syncs <a href="#stable-document-resolution-for-connector-syncs" id="stable-document-resolution-for-connector-syncs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#stable-document-resolution-for-connector-syncs).

#### Recursive Subfolder Discovery for Drive Intake Sources <a href="#recursive-subfolder-discovery-for-drive-intake-sources" id="recursive-subfolder-discovery-for-drive-intake-sources"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#recursive-subfolder-discovery-for-drive-intake-sources).

#### OAuth2 Scope Enforcement on Channel Manager Setup and Client Routes <a href="#oauth2-scope-enforcement-on-channel-manager-setup-and-client-routes" id="oauth2-scope-enforcement-on-channel-manager-setup-and-client-routes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#oauth2-scope-enforcement-on-channel-manager-setup-and-client-routes).

#### Per-Call Isolation Attach Authorization <a href="#per-call-isolation-attach-authorization" id="per-call-isolation-attach-authorization"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#per-call-isolation-attach-authorization).

#### OAuth2 Scope Enforcement on Channel Manager Read Routes <a href="#oauth2-scope-enforcement-on-channel-manager-read-routes" id="oauth2-scope-enforcement-on-channel-manager-read-routes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#oauth2-scope-enforcement-on-channel-manager-read-routes).

#### EHR Connector Write-Back - Patient Lookup, Appointment Cancellation, and Idempotent Booking <a href="#ehr-connector-write-back-patient-lookup-appointment-cancellation-and-idempotent-booking" id="ehr-connector-write-back-patient-lookup-appointment-cancellation-and-idempotent-booking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#ehr-connector-write-back-patient-lookup-appointment-cancellation-and-idempotent-booking).

#### Intake Batch Processing <a href="#intake-batch-processing" id="intake-batch-processing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-07.md#intake-batch-processing).

#### Channel-Manager SMS Transport <a href="#channel-manager-sms-transport" id="channel-manager-sms-transport"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#channel-manager-sms-transport).

#### Test Credential Allowlist for Text Sessions <a href="#test-credential-allowlist-for-text-sessions" id="test-credential-allowlist-for-text-sessions"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#test-credential-allowlist-for-text-sessions).

#### Google Drive Source Sync <a href="#google-drive-source-sync" id="google-drive-source-sync"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#google-drive-source-sync).

#### Google Drive Intake Source Registration and Batch Tracking <a href="#google-drive-intake-source-registration-and-batch-tracking" id="google-drive-intake-source-registration-and-batch-tracking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#google-drive-intake-source-registration-and-batch-tracking).

#### Patient Intake Fields in Connector Runner Sync <a href="#patient-intake-fields-in-connector-runner-sync" id="patient-intake-fields-in-connector-runner-sync"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#patient-intake-fields-in-connector-runner-sync).

#### Patient Contact Enrichment in Connector Runner Sync <a href="#patient-contact-enrichment-in-connector-runner-sync" id="patient-contact-enrichment-in-connector-runner-sync"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#patient-contact-enrichment-in-connector-runner-sync).

#### OAuth2 Scope Enforcement on Channel Manager Routes <a href="#oauth2-scope-enforcement-on-channel-manager-routes" id="oauth2-scope-enforcement-on-channel-manager-routes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#oauth2-scope-enforcement-on-channel-manager-routes).

#### At-Least-Once Delivery for Connector Runner Clinical Data Sync <a href="#at-least-once-delivery-for-connector-runner-clinical-data-sync" id="at-least-once-delivery-for-connector-runner-clinical-data-sync"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#at-least-once-delivery-for-connector-runner-clinical-data-sync).

#### Live Voice Fleet Capacity Status Endpoint <a href="#live-voice-fleet-capacity-status-endpoint" id="live-voice-fleet-capacity-status-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#live-voice-fleet-capacity-status-endpoint).

#### Fail-Closed Resource Indicator Validation on Token Grants <a href="#fail-closed-resource-indicator-validation-on-token-grants" id="fail-closed-resource-indicator-validation-on-token-grants"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#fail-closed-resource-indicator-validation-on-token-grants).

#### Observer Rate Limiting Fix for Rejected Connections <a href="#observer-rate-limiting-fix-for-rejected-connections" id="observer-rate-limiting-fix-for-rejected-connections"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#observer-rate-limiting-fix-for-rejected-connections).

#### Channel Manager OAuth2 Enforcement and List Endpoint Removal <a href="#channel-manager-oauth2-enforcement-and-list-endpoint-removal" id="channel-manager-oauth2-enforcement-and-list-endpoint-removal"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#channel-manager-oauth2-enforcement-and-list-endpoint-removal).

#### Memory Extraction v1 Prompt - Gate, Suppress, and Floor Controls <a href="#memory-extraction-v1-prompt-gate-suppress-and-floor-controls" id="memory-extraction-v1-prompt-gate-suppress-and-floor-controls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#memory-extraction-v1-prompt-gate-suppress-and-floor-controls).

#### Test Caller Recognition and Permission Gate <a href="#test-caller-recognition-and-permission-gate" id="test-caller-recognition-and-permission-gate"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#test-caller-recognition-and-permission-gate).

#### Feature-Flag Rollout-Substrate Health Endpoint <a href="#feature-flag-rollout-substrate-health-endpoint" id="feature-flag-rollout-substrate-health-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#feature-flag-rollout-substrate-health-endpoint).

#### OAuth2 Token Issuance Endpoint <a href="#oauth2-token-issuance-endpoint" id="oauth2-token-issuance-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#oauth2-token-issuance-endpoint).

#### Multi-Type Document Schemas for Customer Data Intake <a href="#multi-type-document-schemas-for-customer-data-intake" id="multi-type-document-schemas-for-customer-data-intake"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#multi-type-document-schemas-for-customer-data-intake).

#### Memory Extraction Error Tracking <a href="#memory-extraction-error-tracking" id="memory-extraction-error-tracking"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#memory-extraction-error-tracking).

#### Document-Owned Version History for Customer Data Intake <a href="#document-owned-version-history-for-customer-data-intake" id="document-owned-version-history-for-customer-data-intake"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#document-owned-version-history-for-customer-data-intake).

#### Fail-Closed External Principal Session Correlation <a href="#fail-closed-external-principal-session-correlation" id="fail-closed-external-principal-session-correlation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#fail-closed-external-principal-session-correlation).

#### OAuth 2.1 Resource-Server Plumbing for the MCP Boundary <a href="#oauth-2.1-resource-server-plumbing-for-the-mcp-boundary" id="oauth-2.1-resource-server-plumbing-for-the-mcp-boundary"></a>

Continue with the [archived entry](https://docs.concurrence.com/api-reference/change-logs/pages/wsX4Uoi4KuTE3OZgrOdw#oauth-2.1-resource-server-plumbing-for-the-mcp-boundary).

#### Shadow Rollout Defaults Graduated to On <a href="#shadow-rollout-defaults-graduated-to-on" id="shadow-rollout-defaults-graduated-to-on"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#shadow-rollout-defaults-graduated-to-on).

#### Batch Entity Resolver and Always-On MCP PHI Audit <a href="#batch-entity-resolver-and-always-on-mcp-phi-audit" id="batch-entity-resolver-and-always-on-mcp-phi-audit"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#batch-entity-resolver-and-always-on-mcp-phi-audit).

#### Runtime-Agnostic Control-Structure Invariant Shadow <a href="#runtime-agnostic-control-structure-invariant-shadow" id="runtime-agnostic-control-structure-invariant-shadow"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#runtime-agnostic-control-structure-invariant-shadow).

#### Scheduling Precondition Shadow <a href="#scheduling-precondition-shadow" id="scheduling-precondition-shadow"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#scheduling-precondition-shadow).

#### Runtime-Agnostic Shadow Guardrail Evaluation <a href="#runtime-agnostic-shadow-guardrail-evaluation" id="runtime-agnostic-shadow-guardrail-evaluation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#runtime-agnostic-shadow-guardrail-evaluation).

#### Caller-Agnostic HIPAA Write-Audit Shadow <a href="#caller-agnostic-hipaa-write-audit-shadow" id="caller-agnostic-hipaa-write-audit-shadow"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#caller-agnostic-hipaa-write-audit-shadow).

#### Mandatory Write Scope for Agent-Originated Writes <a href="#mandatory-write-scope-for-agent-originated-writes" id="mandatory-write-scope-for-agent-originated-writes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#mandatory-write-scope-for-agent-originated-writes).

#### Atlas Per-Turn Conversation Persistence <a href="#atlas-per-turn-conversation-persistence" id="atlas-per-turn-conversation-persistence"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#atlas-per-turn-conversation-persistence).

#### In-Flight Write-Tool Deduplication for Realtime Voice <a href="#in-flight-write-tool-deduplication-for-realtime-voice" id="in-flight-write-tool-deduplication-for-realtime-voice"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#in-flight-write-tool-deduplication-for-realtime-voice).

#### Graceful Busy Handling at Voice Capacity Limits <a href="#graceful-busy-handling-at-voice-capacity-limits" id="graceful-busy-handling-at-voice-capacity-limits"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#graceful-busy-handling-at-voice-capacity-limits).

#### Realtime Voice Model Default and Startup Validation <a href="#realtime-voice-model-default-and-startup-validation" id="realtime-voice-model-default-and-startup-validation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#realtime-voice-model-default-and-startup-validation).

#### OAuth2 Client Management for Machine-to-Machine Authentication <a href="#oauth2-client-management-for-machine-to-machine-authentication" id="oauth2-client-management-for-machine-to-machine-authentication"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#oauth2-client-management-for-machine-to-machine-authentication).

#### Advanced Stats, Dashboard, and Operator Performance Now Served from Analytical Projection <a href="#advanced-stats-dashboard-and-operator-performance-now-served-from-analytical-projection" id="advanced-stats-dashboard-and-operator-performance-now-served-from-analytical-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#advanced-stats-dashboard-and-operator-performance-now-served-from-analytical-projection).

#### Latency and Tool Performance Analytics Now Served from Analytical Projection <a href="#latency-and-tool-performance-analytics-now-served-from-analytical-projection" id="latency-and-tool-performance-analytics-now-served-from-analytical-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#latency-and-tool-performance-analytics-now-served-from-analytical-projection).

#### Emotion Trends and Call Comparison Now Served from Analytical Projection <a href="#emotion-trends-and-call-comparison-now-served-from-analytical-projection" id="emotion-trends-and-call-comparison-now-served-from-analytical-projection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#emotion-trends-and-call-comparison-now-served-from-analytical-projection).

#### Typed Call Quality Analytics Response <a href="#typed-call-quality-analytics-response" id="typed-call-quality-analytics-response"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#typed-call-quality-analytics-response).

#### Session-Ended World Event with Patient Link <a href="#session-ended-world-event-with-patient-link" id="session-ended-world-event-with-patient-link"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#session-ended-world-event-with-patient-link).

#### Per-Case Scoring for Simulation Benchmark Runs <a href="#per-case-scoring-for-simulation-benchmark-runs" id="per-case-scoring-for-simulation-benchmark-runs"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#per-case-scoring-for-simulation-benchmark-runs).

#### Lower-Variance Simulation Inference <a href="#lower-variance-simulation-inference" id="lower-variance-simulation-inference"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#lower-variance-simulation-inference).

#### Short-Lived Access Token TTLs <a href="#short-lived-access-token-ttls" id="short-lived-access-token-ttls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#short-lived-access-token-ttls).

#### Justified AI Metric Verdicts in Simulation Eval Results <a href="#justified-ai-metric-verdicts-in-simulation-eval-results" id="justified-ai-metric-verdicts-in-simulation-eval-results"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#justified-ai-metric-verdicts-in-simulation-eval-results).

#### Targeted Force-on-Demand Tool Selection for Atlas Voice <a href="#targeted-force-on-demand-tool-selection-for-atlas-voice" id="targeted-force-on-demand-tool-selection-for-atlas-voice"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#targeted-force-on-demand-tool-selection-for-atlas-voice).

#### Document Ingestion Mode for Customer Data Intake <a href="#document-ingestion-mode-for-customer-data-intake" id="document-ingestion-mode-for-customer-data-intake"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#document-ingestion-mode-for-customer-data-intake).

#### Reject Deterministic Fillers on Blocking Tools at Version Create <a href="#reject-deterministic-fillers-on-blocking-tools-at-version-create" id="reject-deterministic-fillers-on-blocking-tools-at-version-create"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#reject-deterministic-fillers-on-blocking-tools-at-version-create).

#### Per-Channel Voice Use Case Bindings and Customizable Voice URLs <a href="#per-channel-voice-use-case-bindings-and-customizable-voice-urls" id="per-channel-voice-use-case-bindings-and-customizable-voice-urls"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#per-channel-voice-use-case-bindings-and-customizable-voice-urls).

#### Simulation Eval Verdicts Per Conversation <a href="#simulation-eval-verdicts-per-conversation" id="simulation-eval-verdicts-per-conversation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#simulation-eval-verdicts-per-conversation).

#### Atlas Voice Runtime - Graph-Scoped Tool Selection <a href="#atlas-voice-runtime-graph-scoped-tool-selection" id="atlas-voice-runtime-graph-scoped-tool-selection"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#atlas-voice-runtime-graph-scoped-tool-selection).

#### Atlas Voice Runtime - Cold-Start Telemetry Split <a href="#atlas-voice-runtime-cold-start-telemetry-split" id="atlas-voice-runtime-cold-start-telemetry-split"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#atlas-voice-runtime-cold-start-telemetry-split).

#### Intake CDC Processing - Idempotent Retry and Reprocess <a href="#intake-cdc-processing-idempotent-retry-and-reprocess" id="intake-cdc-processing-idempotent-retry-and-reprocess"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-08.md#intake-cdc-processing-idempotent-retry-and-reprocess).

#### Intake Pipeline - Full Analytical Catalog Row and PHI Filename Exclusion <a href="#intake-pipeline-full-analytical-catalog-row-and-phi-filename-exclusion" id="intake-pipeline-full-analytical-catalog-row-and-phi-filename-exclusion"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#intake-pipeline-full-analytical-catalog-row-and-phi-filename-exclusion).

#### Atlas Voice Runtime - Unified Model Configuration and Tool-Use Directive <a href="#atlas-voice-runtime-unified-model-configuration-and-tool-use-directive" id="atlas-voice-runtime-unified-model-configuration-and-tool-use-directive"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-voice-runtime-unified-model-configuration-and-tool-use-directive).

#### Automatic Async Intake Processing <a href="#automatic-async-intake-processing" id="automatic-async-intake-processing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#automatic-async-intake-processing).

#### Optional Async Intake Processing <a href="#optional-async-intake-processing" id="optional-async-intake-processing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#optional-async-intake-processing).

#### Configurable Realtime Voice Model <a href="#configurable-realtime-voice-model" id="configurable-realtime-voice-model"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#configurable-realtime-voice-model).

#### Trigger Pause and Resume Now Correctly Toggle Activation State <a href="#trigger-pause-and-resume-now-correctly-toggle-activation-state" id="trigger-pause-and-resume-now-correctly-toggle-activation-state"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#trigger-pause-and-resume-now-correctly-toggle-activation-state).

#### Trace Export Now Includes Voice Infrastructure Spans <a href="#trace-export-now-includes-voice-infrastructure-spans" id="trace-export-now-includes-voice-infrastructure-spans"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#trace-export-now-includes-voice-infrastructure-spans).

#### Conversation List Performance Improvements <a href="#conversation-list-performance-improvements" id="conversation-list-performance-improvements"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#conversation-list-performance-improvements).

#### Status Write-Back Route and Delta Metadata Catalog for Customer Data Intake <a href="#status-write-back-route-and-delta-metadata-catalog-for-customer-data-intake" id="status-write-back-route-and-delta-metadata-catalog-for-customer-data-intake"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#status-write-back-route-and-delta-metadata-catalog-for-customer-data-intake).

#### HMAC-Signed Inbound Webhooks for Channel Bindings <a href="#hmac-signed-inbound-webhooks-for-channel-bindings" id="hmac-signed-inbound-webhooks-for-channel-bindings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#hmac-signed-inbound-webhooks-for-channel-bindings).

#### Update Use Case Endpoint for Channel Bindings <a href="#update-use-case-endpoint-for-channel-bindings" id="update-use-case-endpoint-for-channel-bindings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#update-use-case-endpoint-for-channel-bindings).

#### Pre-Warmed Media Routes for Per-Call Isolation <a href="#pre-warmed-media-routes-for-per-call-isolation" id="pre-warmed-media-routes-for-per-call-isolation"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#pre-warmed-media-routes-for-per-call-isolation).

#### Fix Double-Encoding of REST Integration Path Parameters <a href="#fix-double-encoding-of-rest-integration-path-parameters" id="fix-double-encoding-of-rest-integration-path-parameters"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#fix-double-encoding-of-rest-integration-path-parameters).

#### Per-Binding Inbound Webhook URL for Channel Bindings <a href="#per-binding-inbound-webhook-url-for-channel-bindings" id="per-binding-inbound-webhook-url-for-channel-bindings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#per-binding-inbound-webhook-url-for-channel-bindings).

#### OTLP Trace Export Endpoint <a href="#otlp-trace-export-endpoint" id="otlp-trace-export-endpoint"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#otlp-trace-export-endpoint).

#### HIPAA Audit Parity for MCP Surface Tools and REST Data Query Invoke <a href="#hipaa-audit-parity-for-mcp-surface-tools-and-rest-data-query-invoke" id="hipaa-audit-parity-for-mcp-surface-tools-and-rest-data-query-invoke"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#hipaa-audit-parity-for-mcp-surface-tools-and-rest-data-query-invoke).

#### Write-Event Provenance and Audit Action Labels for MCP Clinical Writes <a href="#write-event-provenance-and-audit-action-labels-for-mcp-clinical-writes" id="write-event-provenance-and-audit-action-labels-for-mcp-clinical-writes"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#write-event-provenance-and-audit-action-labels-for-mcp-clinical-writes).

#### Clinical and Operational Write Tools on MCP Surface <a href="#clinical-and-operational-write-tools-on-mcp-surface" id="clinical-and-operational-write-tools-on-mcp-surface"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#clinical-and-operational-write-tools-on-mcp-surface).

#### HIPAA Audit Logging for MCP Read Surface <a href="#hipaa-audit-logging-for-mcp-read-surface" id="hipaa-audit-logging-for-mcp-read-surface"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#hipaa-audit-logging-for-mcp-read-surface).

#### Batch Enrichment Write Tool on MCP Surface <a href="#batch-enrichment-write-tool-on-mcp-surface" id="batch-enrichment-write-tool-on-mcp-surface"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#batch-enrichment-write-tool-on-mcp-surface).

#### Workspace Data Queries on MCP Read Surface <a href="#workspace-data-queries-on-mcp-read-surface" id="workspace-data-queries-on-mcp-read-surface"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#workspace-data-queries-on-mcp-read-surface).

#### Per-Call Media Stream Host Routing <a href="#per-call-media-stream-host-routing" id="per-call-media-stream-host-routing"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#per-call-media-stream-host-routing).

#### Per-Call Media Server Allocation at Call Setup <a href="#per-call-media-server-allocation-at-call-setup" id="per-call-media-server-allocation-at-call-setup"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#per-call-media-server-allocation-at-call-setup).

#### Workspace-Scoped Voice Assignment Gate <a href="#workspace-scoped-voice-assignment-gate" id="workspace-scoped-voice-assignment-gate"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#workspace-scoped-voice-assignment-gate).

#### Atlas Call Intelligence Envelope Drops Quality Score <a href="#atlas-call-intelligence-envelope-drops-quality-score" id="atlas-call-intelligence-envelope-drops-quality-score"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-call-intelligence-envelope-drops-quality-score).

#### Atlas Voice Calls in Conversation Listings <a href="#atlas-voice-calls-in-conversation-listings" id="atlas-voice-calls-in-conversation-listings"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-voice-calls-in-conversation-listings).

#### Atlas Per-State Tool Visibility and Reluctance Fix <a href="#atlas-per-state-tool-visibility-and-reluctance-fix" id="atlas-per-state-tool-visibility-and-reluctance-fix"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-per-state-tool-visibility-and-reluctance-fix).

#### Atlas In-Flight Write-Tool Deduplication <a href="#atlas-in-flight-write-tool-deduplication" id="atlas-in-flight-write-tool-deduplication"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-in-flight-write-tool-deduplication).

#### Atlas Voice Call Lifecycle <a href="#atlas-voice-call-lifecycle" id="atlas-voice-call-lifecycle"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-voice-call-lifecycle).

#### Atlas Voice Billing Metering <a href="#atlas-voice-billing-metering" id="atlas-voice-billing-metering"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-voice-billing-metering).

#### Atlas Voice Tool Roster Logging <a href="#atlas-voice-tool-roster-logging" id="atlas-voice-tool-roster-logging"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-voice-tool-roster-logging).

#### Atlas Single State-Machine Agent for Voice <a href="#atlas-single-state-machine-agent-for-voice" id="atlas-single-state-machine-agent-for-voice"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#atlas-single-state-machine-agent-for-voice).

#### Platform API Contract Summary (Historical) <a href="#current-platform-api-contract-summary-1" id="current-platform-api-contract-summary-1"></a>

Continue with the [archived entry](/api-reference/change-logs/amigo-api/amigo-api-history-09.md#current-platform-api-contract-summary-1).

</details>

## Versioning <a href="#versioning" id="versioning"></a>

Numbered Amigo API releases use [Semantic Versioning](https://semver.org/) identifiers. The latest numbered release is listed at the top of this page. While the release line remains pre-1.0, minor releases can contain breaking changes; review this changelog and the current OpenAPI schema before upgrading.

### Independent Release Lines <a href="#independent-release-lines" id="independent-release-lines"></a>

The Amigo API, Agent Forge CLI, and SDK packages version independently. Agent Forge is optional client tooling, not a runtime requirement for direct API integrations. See the [Change Logs index](/api-reference/change-logs.md#current-sdk-packages) for current SDK versions and the [Agent Forge CLI changelog](/api-reference/change-logs/agent-forge.md) for its current release line.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.concurrence.com/api-reference/change-logs/amigo-api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
