# Feather ## Docs - [Attach a workflow to agent revision](https://doc.featherhq.com/api-reference/agents/attach-a-workflow-to-agent-revision.md) - [Create an agent](https://doc.featherhq.com/api-reference/agents/create-an-agent.md) - [Create an agent revision](https://doc.featherhq.com/api-reference/agents/create-an-agent-revision.md) - [Delete an agent](https://doc.featherhq.com/api-reference/agents/delete-an-agent.md) - [Delete an agent revision](https://doc.featherhq.com/api-reference/agents/delete-an-agent-revision.md) - [Detach workflow from agent revision](https://doc.featherhq.com/api-reference/agents/detach-workflow-from-agent-revision.md) - [Dispatch the agent's release simulation suite against a candidate revision](https://doc.featherhq.com/api-reference/agents/dispatch-the-agents-release-simulation-suite-against-a-candidate-revision.md): Dispatch the agent's configured release suite pinned to ``revision_id``. - [Get an agent](https://doc.featherhq.com/api-reference/agents/get-an-agent.md) - [Get an agent revision](https://doc.featherhq.com/api-reference/agents/get-an-agent-revision.md) - [Get an agent revision's tool-input defaults (enriched view)](https://doc.featherhq.com/api-reference/agents/get-an-agent-revisions-tool-input-defaults-enriched-view.md) - [Get an agent's enabled platform tools](https://doc.featherhq.com/api-reference/agents/get-an-agents-enabled-platform-tools.md) - [Get per-agent eval configuration](https://doc.featherhq.com/api-reference/agents/get-per-agent-eval-configuration.md) - [Latest release-check verdict for a candidate revision](https://doc.featherhq.com/api-reference/agents/latest-release-check-verdict-for-a-candidate-revision.md): Return the latest release-check ``SimulationSuiteRun`` for the revision. - [List agent revisions](https://doc.featherhq.com/api-reference/agents/list-agent-revisions.md) - [List agents](https://doc.featherhq.com/api-reference/agents/list-agents.md) - [List declared context variables across an agent's bound workflows](https://doc.featherhq.com/api-reference/agents/list-declared-context-variables-across-an-agents-bound-workflows.md): Aggregate the union of ``context_variables`` declared across the workflows bound to the agent's active revision. - [List the platform tools an agent can enable](https://doc.featherhq.com/api-reference/agents/list-the-platform-tools-an-agent-can-enable.md): Static projection of the hard-coded platform-tool registry. Org-independent — the dashboard renders this to drive the per-agent enable/disable toggles without hard-coding the catalog. - [List workflows attached to agent revision](https://doc.featherhq.com/api-reference/agents/list-workflows-attached-to-agent-revision.md) - [Replace an agent revision's tool-input defaults](https://doc.featherhq.com/api-reference/agents/replace-an-agent-revisions-tool-input-defaults.md) - [Set active agent revision](https://doc.featherhq.com/api-reference/agents/set-active-agent-revision.md) - [Set an agent's enabled platform tools](https://doc.featherhq.com/api-reference/agents/set-an-agents-enabled-platform-tools.md) - [Set per-agent eval configuration](https://doc.featherhq.com/api-reference/agents/set-per-agent-eval-configuration.md) - [Update an agent](https://doc.featherhq.com/api-reference/agents/update-an-agent.md) - [Update an agent revision](https://doc.featherhq.com/api-reference/agents/update-an-agent-revision.md) - [Update workflow link on agent revision](https://doc.featherhq.com/api-reference/agents/update-workflow-link-on-agent-revision.md) - [Action counts split into taken (enforced) vs would-be (monitor-mode shadow)](https://doc.featherhq.com/api-reference/analytics/action-counts-split-into-taken-enforced-vs-would-be-monitor-mode-shadow.md) - [Combined tool analytics dashboard envelope](https://doc.featherhq.com/api-reference/analytics/combined-tool-analytics-dashboard-envelope.md): Single call that fans out to the four ENG-154 dashboard pipes. - [Connection health grouped by integration_key (events, success rate, p95 latency)](https://doc.featherhq.com/api-reference/analytics/connection-health-grouped-by-integration_key-events-success-rate-p95-latency.md) - [Connection lifecycle effective success rate (%) over time](https://doc.featherhq.com/api-reference/analytics/connection-lifecycle-effective-success-rate-%-over-time.md) - [Connection lifecycle event volume (events/successes/failures) over time](https://doc.featherhq.com/api-reference/analytics/connection-lifecycle-event-volume-eventssuccessesfailures-over-time.md) - [Connection lifecycle failures grouped by event_type + error_category](https://doc.featherhq.com/api-reference/analytics/connection-lifecycle-failures-grouped-by-event_type-+-error_category.md) - [Current distribution of sessions across statuses](https://doc.featherhq.com/api-reference/analytics/current-distribution-of-sessions-across-statuses.md) - [Current-state KB inventory shape](https://doc.featherhq.com/api-reference/analytics/current-state-kb-inventory-shape.md) - [Current vs previous window error-rate comparison](https://doc.featherhq.com/api-reference/analytics/current-vs-previous-window-error-rate-comparison.md) - [Distinct conversations per tool](https://doc.featherhq.com/api-reference/analytics/distinct-conversations-per-tool.md) - [Document-ingestion counts bucketed over time](https://doc.featherhq.com/api-reference/analytics/document-ingestion-counts-bucketed-over-time.md) - [Document processing-time percentiles bucketed over time](https://doc.featherhq.com/api-reference/analytics/document-processing-time-percentiles-bucketed-over-time.md) - [Documents currently active but unretrieved (or stale beyond N days)](https://doc.featherhq.com/api-reference/analytics/documents-currently-active-but-unretrieved-or-stale-beyond-n-days.md) - [Effective success rate (%) bucketed over time](https://doc.featherhq.com/api-reference/analytics/effective-success-rate-%-bucketed-over-time.md) - [Enforce-after-measure: per monitor-mode policy, would-be impact + TTFT-delta](https://doc.featherhq.com/api-reference/analytics/enforce-after-measure:-per-monitor-mode-policy-would-be-impact-+-ttft-delta.md) - [Error count over time, split by error_category](https://doc.featherhq.com/api-reference/analytics/error-count-over-time-split-by-error_category.md) - [Evaluation + violation volume bucketed over time (enforced vs shadow)](https://doc.featherhq.com/api-reference/analytics/evaluation-+-violation-volume-bucketed-over-time-enforced-vs-shadow.md) - [Failed-invocation count grouped by error_category](https://doc.featherhq.com/api-reference/analytics/failed-invocation-count-grouped-by-error_category.md) - [Failed-invocation count grouped by HTTP status_code](https://doc.featherhq.com/api-reference/analytics/failed-invocation-count-grouped-by-http-status_code.md) - [Failure-recovery analytics: failed / archived / cleaned_up / recovered](https://doc.featherhq.com/api-reference/analytics/failure-recovery-analytics:-failed-archived-cleaned_up-recovered.md) - [Failures grouped by error_category (vendor_error / exception:)](https://doc.featherhq.com/api-reference/analytics/failures-grouped-by-error_category-vendor_error-exception:.md) - [Histogram of message count per session](https://doc.featherhq.com/api-reference/analytics/histogram-of-message-count-per-session.md) - [Integration tool-call latency percentiles bucketed over time](https://doc.featherhq.com/api-reference/analytics/integration-tool-call-latency-percentiles-bucketed-over-time.md) - [Integration tool-call volume bucketed over time](https://doc.featherhq.com/api-reference/analytics/integration-tool-call-volume-bucketed-over-time.md) - [Latency histogram across fixed buckets](https://doc.featherhq.com/api-reference/analytics/latency-histogram-across-fixed-buckets.md) - [Latency percentiles bucketed over time](https://doc.featherhq.com/api-reference/analytics/latency-percentiles-bucketed-over-time.md) - [Latency percentiles grouped by provider](https://doc.featherhq.com/api-reference/analytics/latency-percentiles-grouped-by-provider.md) - [Memory coverage: users-with-memory / active-end-users (clamped 100%)](https://doc.featherhq.com/api-reference/analytics/memory-coverage:-users-with-memory-active-end-users-clamped-100%.md) - [Memory episode counts bucketed over time](https://doc.featherhq.com/api-reference/analytics/memory-episode-counts-bucketed-over-time.md) - [Memory recall volume bucketed over time with hit/miss + latency percentiles](https://doc.featherhq.com/api-reference/analytics/memory-recall-volume-bucketed-over-time-with-hitmiss-+-latency-percentiles.md) - [Mock latency percentiles bucketed over time](https://doc.featherhq.com/api-reference/analytics/mock-latency-percentiles-bucketed-over-time.md) - [Mock request volume bucketed over time](https://doc.featherhq.com/api-reference/analytics/mock-request-volume-bucketed-over-time.md) - [Mock scenario match rate bucketed over time](https://doc.featherhq.com/api-reference/analytics/mock-scenario-match-rate-bucketed-over-time.md) - [New-session counts bucketed over time, split by channel](https://doc.featherhq.com/api-reference/analytics/new-session-counts-bucketed-over-time-split-by-channel.md) - [One-shot envelope of every integration analytics pipe](https://doc.featherhq.com/api-reference/analytics/one-shot-envelope-of-every-integration-analytics-pipe.md) - [One-shot envelope of every knowledge analytics pipe](https://doc.featherhq.com/api-reference/analytics/one-shot-envelope-of-every-knowledge-analytics-pipe.md) - [One-shot envelope of every memory analytics pipe](https://doc.featherhq.com/api-reference/analytics/one-shot-envelope-of-every-memory-analytics-pipe.md) - [One-shot envelope of every mock analytics pipe](https://doc.featherhq.com/api-reference/analytics/one-shot-envelope-of-every-mock-analytics-pipe.md) - [One-shot envelope of every policy analytics pipe](https://doc.featherhq.com/api-reference/analytics/one-shot-envelope-of-every-policy-analytics-pipe.md) - [Per-agent retrieval breakdown: volume, hit-rate, and avg latency](https://doc.featherhq.com/api-reference/analytics/per-agent-retrieval-breakdown:-volume-hit-rate-and-avg-latency.md) - [Per-bucket escalation rate timeseries](https://doc.featherhq.com/api-reference/analytics/per-bucket-escalation-rate-timeseries.md) - [Per-channel comparison of session volume and quality](https://doc.featherhq.com/api-reference/analytics/per-channel-comparison-of-session-volume-and-quality.md) - [Per-KB adoption rate and document counts](https://doc.featherhq.com/api-reference/analytics/per-kb-adoption-rate-and-document-counts.md) - [Per-policy violation rate + action counts within a window](https://doc.featherhq.com/api-reference/analytics/per-policy-violation-rate-+-action-counts-within-a-window.md) - [Per-retry-count breakdown with avg/p95 latency](https://doc.featherhq.com/api-reference/analytics/per-retry-count-breakdown-with-avgp95-latency.md) - [Per-source latest sync state and time-since-last-event](https://doc.featherhq.com/api-reference/analytics/per-source-latest-sync-state-and-time-since-last-event.md) - [Per-tool success rate ranked worst-first](https://doc.featherhq.com/api-reference/analytics/per-tool-success-rate-ranked-worst-first.md) - [Per-tool timeout rate and latency tail](https://doc.featherhq.com/api-reference/analytics/per-tool-timeout-rate-and-latency-tail.md) - [Per-user engagement quantiles (episodes/messages/recalls)](https://doc.featherhq.com/api-reference/analytics/per-user-engagement-quantiles-episodesmessagesrecalls.md) - [Per-vendor recall summary (zep vs mem0)](https://doc.featherhq.com/api-reference/analytics/per-vendor-recall-summary-zep-vs-mem0.md) - [Resolution-time percentiles by channel and priority](https://doc.featherhq.com/api-reference/analytics/resolution-time-percentiles-by-channel-and-priority.md) - [Search-call volume and latency percentiles bucketed over time](https://doc.featherhq.com/api-reference/analytics/search-call-volume-and-latency-percentiles-bucketed-over-time.md) - [Single-row connection-health summary: events, failures, success rate, latency](https://doc.featherhq.com/api-reference/analytics/single-row-connection-health-summary:-events-failures-success-rate-latency.md) - [Single-row dashboard summary: requests, match/error rates, latency](https://doc.featherhq.com/api-reference/analytics/single-row-dashboard-summary:-requests-matcherror-rates-latency.md) - [Single-row summary: invocations, failures, success rate, latency (vs prior window)](https://doc.featherhq.com/api-reference/analytics/single-row-summary:-invocations-failures-success-rate-latency-vs-prior-window.md) - [Success rate (%) bucketed over time](https://doc.featherhq.com/api-reference/analytics/success-rate-%-bucketed-over-time.md) - [Time-to-first-response percentiles](https://doc.featherhq.com/api-reference/analytics/time-to-first-response-percentiles.md) - [Tool invocations bucketed over time](https://doc.featherhq.com/api-reference/analytics/tool-invocations-bucketed-over-time.md) - [Tool invocations grouped by agent_id](https://doc.featherhq.com/api-reference/analytics/tool-invocations-grouped-by-agent_id.md) - [Tool invocations grouped by tool_type](https://doc.featherhq.com/api-reference/analytics/tool-invocations-grouped-by-tool_type.md) - [Top-N mock scenarios by request count](https://doc.featherhq.com/api-reference/analytics/top-n-mock-scenarios-by-request-count.md) - [Top-N most-retrieved documents in a window](https://doc.featherhq.com/api-reference/analytics/top-n-most-retrieved-documents-in-a-window.md) - [Top-N slowest tools by p95](https://doc.featherhq.com/api-reference/analytics/top-n-slowest-tools-by-p95.md) - [Top-N tools by invocation count](https://doc.featherhq.com/api-reference/analytics/top-n-tools-by-invocation-count.md) - [Turn-depth summary (avg / single-turn rate / quantiles)](https://doc.featherhq.com/api-reference/analytics/turn-depth-summary-avg-single-turn-rate-quantiles.md) - [Volume + reliability + p95 latency grouped by integration_key](https://doc.featherhq.com/api-reference/analytics/volume-+-reliability-+-p95-latency-grouped-by-integration_key.md) - [Volume + reliability + p95 latency grouped by mode (vendor_api/feather_mcp_client)](https://doc.featherhq.com/api-reference/analytics/volume-+-reliability-+-p95-latency-grouped-by-mode-vendor_apifeather_mcp_client.md) - [Whether an enforcing agent_response policy is attached (TTFT disclaimer)](https://doc.featherhq.com/api-reference/analytics/whether-an-enforcing-agent_response-policy-is-attached-ttft-disclaimer.md) - [Approve Message](https://doc.featherhq.com/api-reference/ask-feather/approve-message.md): Resume a turn paused for tool approval (see the ``requires_approval`` SSE event) with the user's approve/deny decisions, streaming the continuation. - [Archive Session](https://doc.featherhq.com/api-reference/ask-feather/archive-session.md) - [Create Session](https://doc.featherhq.com/api-reference/ask-feather/create-session.md) - [Get Session Detail](https://doc.featherhq.com/api-reference/ask-feather/get-session-detail.md) - [Get Workflows](https://doc.featherhq.com/api-reference/ask-feather/get-workflows.md) - [List Sessions](https://doc.featherhq.com/api-reference/ask-feather/list-sessions.md) - [Send Message](https://doc.featherhq.com/api-reference/ask-feather/send-message.md) - [Bind an agent or team to a channel on a phone number](https://doc.featherhq.com/api-reference/communication/bind-an-agent-or-team-to-a-channel-on-a-phone-number.md) - [Delete a phone number](https://doc.featherhq.com/api-reference/communication/delete-a-phone-number.md): Delete a phone number. - [Get a phone number by id (org-scoped)](https://doc.featherhq.com/api-reference/communication/get-a-phone-number-by-id-org-scoped.md) - [Get the org's compliance settings (creates default on first read)](https://doc.featherhq.com/api-reference/communication/get-the-orgs-compliance-settings-creates-default-on-first-read.md) - [List channel bindings for a phone number](https://doc.featherhq.com/api-reference/communication/list-channel-bindings-for-a-phone-number.md) - [List org phone numbers](https://doc.featherhq.com/api-reference/communication/list-org-phone-numbers.md) - [Register an org phone number](https://doc.featherhq.com/api-reference/communication/register-an-org-phone-number.md) - [Remove a channel binding](https://doc.featherhq.com/api-reference/communication/remove-a-channel-binding.md) - [Replace the full binding set for a channel on a phone number](https://doc.featherhq.com/api-reference/communication/replace-the-full-binding-set-for-a-channel-on-a-phone-number.md) - [Update a phone number](https://doc.featherhq.com/api-reference/communication/update-a-phone-number.md) - [Update the org's allowed-countries list](https://doc.featherhq.com/api-reference/communication/update-the-orgs-allowed-countries-list.md) - [Approve a draft and dispatch it. The caller's OrgMember is recorded as the approver; the SendOrchestrator runs immediately.](https://doc.featherhq.com/api-reference/email-drafts/approve-a-draft-and-dispatch-it-the-callers-orgmember-is-recorded-as-the-approver;-the-sendorchestrator-runs-immediately.md) - [Author a new outbound email draft](https://doc.featherhq.com/api-reference/email-drafts/author-a-new-outbound-email-draft.md) - [Edit a draft (only allowed while status='draft')](https://doc.featherhq.com/api-reference/email-drafts/edit-a-draft-only-allowed-while-status=draft.md) - [List drafts for the caller's organization](https://doc.featherhq.com/api-reference/email-drafts/list-drafts-for-the-callers-organization.md) - [Read one draft, including its ENG-420 audit snapshot when present](https://doc.featherhq.com/api-reference/email-drafts/read-one-draft-including-its-eng-420-audit-snapshot-when-present.md) - [Soft-discard a draft (forbidden once dispatch has started)](https://doc.featherhq.com/api-reference/email-drafts/soft-discard-a-draft-forbidden-once-dispatch-has-started.md) - [Begin connecting a mailbox via the hosted-auth flow](https://doc.featherhq.com/api-reference/email/begin-connecting-a-mailbox-via-the-hosted-auth-flow.md) - [Delivery event audit trail for a single email message](https://doc.featherhq.com/api-reference/email/delivery-event-audit-trail-for-a-single-email-message.md): Path param is the Nylas ``provider_message_id``. Org-scoping happens via the JOIN to ``EmailChannelAccount`` inside the service. - [Ingest a canonical EmailInboundEvent for the given thread. Bypasses the vendor webhook; used by sandbox / replay / direct integrators.](https://doc.featherhq.com/api-reference/email/ingest-a-canonical-emailinboundevent-for-the-given-thread-bypasses-the-vendor-webhook;-used-by-sandbox-replay-direct-integrators.md): Canonical ingest endpoint. - [List connected mailboxes for the caller's organization](https://doc.featherhq.com/api-reference/email/list-connected-mailboxes-for-the-callers-organization.md) - [Read an email thread by Nylas provider_thread_id](https://doc.featherhq.com/api-reference/email/read-an-email-thread-by-nylas-provider_thread_id.md) - [Revoke the mailbox grant and retire the local row](https://doc.featherhq.com/api-reference/email/revoke-the-mailbox-grant-and-retire-the-local-row.md) - [Update mutable mailbox settings (e.g., default signature)](https://doc.featherhq.com/api-reference/email/update-mutable-mailbox-settings-eg-default-signature.md): Partial-update endpoint. Only fields present in the request body are applied — omitted keys leave the row unchanged. Explicit ``null`` on ``default_signature_html`` clears the signature. - [Archive an evaluator](https://doc.featherhq.com/api-reference/evals/archive-an-evaluator.md) - [Create an evaluator](https://doc.featherhq.com/api-reference/evals/create-an-evaluator.md) - [Create an evaluator binding](https://doc.featherhq.com/api-reference/evals/create-an-evaluator-binding.md) - [Delete a terminal eval run](https://doc.featherhq.com/api-reference/evals/delete-a-terminal-eval-run.md): Hard-delete a terminal eval run; its scores cascade (ORM ``delete-orphan`` + DB FK ``ON DELETE CASCADE``). - [Delete an evaluator binding](https://doc.featherhq.com/api-reference/evals/delete-an-evaluator-binding.md) - [(dev only) Fabricate failing eval runs and fire the real eval.failed emitter](https://doc.featherhq.com/api-reference/evals/dev-only-fabricate-failing-eval-runs-and-fire-the-real-evalfailed-emitter.md): Fabricate failing eval runs for an agent and run the REAL ENG-604 emitter. - [Get an eval run (optionally with embedded evidence)](https://doc.featherhq.com/api-reference/evals/get-an-eval-run-optionally-with-embedded-evidence.md): Read one eval run. With no ``include`` the response is the shallow run+scores shape (back-compat); each ``include`` token adds the matching evidence section. Unknown tokens are ignored. Cross-org/unknown → 404. - [Get an eval score](https://doc.featherhq.com/api-reference/evals/get-an-eval-score.md) - [Get an evaluator](https://doc.featherhq.com/api-reference/evals/get-an-evaluator.md) - [Get an evaluator binding](https://doc.featherhq.com/api-reference/evals/get-an-evaluator-binding.md) - [List deterministic signals available to evaluators](https://doc.featherhq.com/api-reference/evals/list-deterministic-signals-available-to-evaluators.md): Closed catalog of signals a deterministic evaluator can be bound to. - [List eval runs](https://doc.featherhq.com/api-reference/evals/list-eval-runs.md) - [List evaluator bindings](https://doc.featherhq.com/api-reference/evals/list-evaluator-bindings.md) - [List evaluators](https://doc.featherhq.com/api-reference/evals/list-evaluators.md) - [Re-run all current evaluator bindings against a session](https://doc.featherhq.com/api-reference/evals/re-run-all-current-evaluator-bindings-against-a-session.md): Wipe all existing EvalRuns for this session and re-run the currently bound evaluators with fresh snapshots. Rejects (409) when any run for the session is in ``pending`` or ``running`` — caller should wait for those to terminate first to avoid orphaning an in-flight worker. - [Retry a failed or errored eval run](https://doc.featherhq.com/api-reference/evals/retry-a-failed-or-errored-eval-run.md) - [Update an evaluator](https://doc.featherhq.com/api-reference/evals/update-an-evaluator.md) - [Update an evaluator binding](https://doc.featherhq.com/api-reference/evals/update-an-evaluator-binding.md) - [Create a new extraction schema version for an agent](https://doc.featherhq.com/api-reference/extraction-schemas/create-a-new-extraction-schema-version-for-an-agent.md) - [Get one extraction schema version](https://doc.featherhq.com/api-reference/extraction-schemas/get-one-extraction-schema-version.md) - [List extraction schema versions for an agent](https://doc.featherhq.com/api-reference/extraction-schemas/list-extraction-schema-versions-for-an-agent.md) - [Update extraction schema (rename, activate, archive)](https://doc.featherhq.com/api-reference/extraction-schemas/update-extraction-schema-rename-activate-archive.md) - [Get latest structured extraction for a session](https://doc.featherhq.com/api-reference/extractions/get-latest-structured-extraction-for-a-session.md) - [Re-run extraction for a closed session](https://doc.featherhq.com/api-reference/extractions/re-run-extraction-for-a-closed-session.md) - [Decide an approval request (approve / deny)](https://doc.featherhq.com/api-reference/hitl/decide-an-approval-request-approve-deny.md) - [Get a handoff](https://doc.featherhq.com/api-reference/hitl/get-a-handoff.md) - [Get an approval request](https://doc.featherhq.com/api-reference/hitl/get-an-approval-request.md) - [Get the org's HITL approval-UX lines (resolved)](https://doc.featherhq.com/api-reference/hitl/get-the-orgs-hitl-approval-ux-lines-resolved.md) - [List approval requests](https://doc.featherhq.com/api-reference/hitl/list-approval-requests.md) - [List failed warm-transfer attempts](https://doc.featherhq.com/api-reference/hitl/list-failed-warm-transfer-attempts.md): Read-only inbox of warm transfers whose supervisor leg never connected. - [List handoffs](https://doc.featherhq.com/api-reference/hitl/list-handoffs.md) - [Relay an operator message on a handed-off conversation](https://doc.featherhq.com/api-reference/hitl/relay-an-operator-message-on-a-handed-off-conversation.md): Persist an OUTBOUND operator message (§6.4.1) then deliver it. - [Resolve a handoff and close its conversation](https://doc.featherhq.com/api-reference/hitl/resolve-a-handoff-and-close-its-conversation.md): End the session: ``set_status(resolved)`` + conversation ``→ CLOSED`` with ``termination_reason = HANDOFF_RESOLVED``, in one transaction (§6.4). - [Set/clear the org's HITL approval-UX lines](https://doc.featherhq.com/api-reference/hitl/setclear-the-orgs-hitl-approval-ux-lines.md) - [Approve a MERGE review request and execute the merge](https://doc.featherhq.com/api-reference/identity/approve-a-merge-review-request-and-execute-the-merge.md) - [Approve an UPDATE review request and add the proposed contact](https://doc.featherhq.com/api-reference/identity/approve-an-update-review-request-and-add-the-proposed-contact.md) - [Attach a verified contact to an end user](https://doc.featherhq.com/api-reference/identity/attach-a-verified-contact-to-an-end-user.md) - [Create an API key. The plain-text key is returned exactly once.](https://doc.featherhq.com/api-reference/identity/create-an-api-key-the-plain-text-key-is-returned-exactly-once.md) - [Delete a bridge number (clears its Twilio webhook, then drops the row)](https://doc.featherhq.com/api-reference/identity/delete-a-bridge-number-clears-its-twilio-webhook-then-drops-the-row.md) - [Delete an end user and all associated data](https://doc.featherhq.com/api-reference/identity/delete-an-end-user-and-all-associated-data.md) - [Get a single identity review request](https://doc.featherhq.com/api-reference/identity/get-a-single-identity-review-request.md) - [Get an end user with their contacts](https://doc.featherhq.com/api-reference/identity/get-an-end-user-with-their-contacts.md) - [Get current organization](https://doc.featherhq.com/api-reference/identity/get-current-organization.md) - [Get the current caller's identity, role, and KB clearance](https://doc.featherhq.com/api-reference/identity/get-the-current-callers-identity-role-and-kb-clearance.md): Resolve the authenticated caller's own identity, role, and KB clearance. - [Get the org's warm-transfer settings (bridge webhook URL)](https://doc.featherhq.com/api-reference/identity/get-the-orgs-warm-transfer-settings-bridge-webhook-url.md) - [Import a Twilio number as a warm-transfer bridge number](https://doc.featherhq.com/api-reference/identity/import-a-twilio-number-as-a-warm-transfer-bridge-number.md) - [List API keys for the current organization](https://doc.featherhq.com/api-reference/identity/list-api-keys-for-the-current-organization.md) - [List end users for the organization (optionally filter by org_external_end_user_id)](https://doc.featherhq.com/api-reference/identity/list-end-users-for-the-organization-optionally-filter-by-org_external_end_user_id.md) - [List identity review requests for the organization](https://doc.featherhq.com/api-reference/identity/list-identity-review-requests-for-the-organization.md) - [List organization members](https://doc.featherhq.com/api-reference/identity/list-organization-members.md) - [List the org's warm-transfer bridge numbers](https://doc.featherhq.com/api-reference/identity/list-the-orgs-warm-transfer-bridge-numbers.md) - [Re-apply the current /twilio/{org_id}/bridge webhook URL to all bridge numbers](https://doc.featherhq.com/api-reference/identity/re-apply-the-current-twilio-bridge-webhook-url-to-all-bridge-numbers.md) - [Reject a review request](https://doc.featherhq.com/api-reference/identity/reject-a-review-request.md) - [Resolve a channel source to an end user (graph-backed)](https://doc.featherhq.com/api-reference/identity/resolve-a-channel-source-to-an-end-user-graph-backed.md) - [Revoke an API key](https://doc.featherhq.com/api-reference/identity/revoke-an-api-key.md) - [Update an end user (auto-merges on org_external_end_user_id conflict)](https://doc.featherhq.com/api-reference/identity/update-an-end-user-auto-merges-on-org_external_end_user_id-conflict.md) - [Update current organization](https://doc.featherhq.com/api-reference/identity/update-current-organization.md) - [Connect a customer-supplied MCP server (static creds or OAuth)](https://doc.featherhq.com/api-reference/integrations/connect-a-customer-supplied-mcp-server-static-creds-or-oauth.md): Static-cred connections are born ``active``; OAuth returns an ``authorize_url`` + ``state`` and the row starts ``pending_oauth`` until the ``/integrations/oauth/callback`` redirect lands. ``server_url`` (and any OAuth endpoint URLs) are SSRF-validated in the service layer. - [Connect the Email integration (born active; presence marker for the send_email tool)](https://doc.featherhq.com/api-reference/integrations/connect-the-email-integration-born-active;-presence-marker-for-the-send_email-tool.md): Create a born-``active`` presence connection so the ``send_email`` tool materializes and becomes attachable. There is no credential to collect — the Nylas API key is platform-level and the sending mailbox is connected via the separate email OAuth flow. The tool sync is dispatched post-commit. - [Dashboard test surface: invoke a tool by slug (VENDOR_API)](https://doc.featherhq.com/api-reference/integrations/dashboard-test-surface:-invoke-a-tool-by-slug-vendor_api.md): Fire a real ``VENDOR_API`` invocation from the Integrations dashboard. - [Dashboard test surface: invoke an MCP tool by slug (FEATHER_MCP_CLIENT)](https://doc.featherhq.com/api-reference/integrations/dashboard-test-surface:-invoke-an-mcp-tool-by-slug-feather_mcp_client.md): Fire a real ``FEATHER_MCP_CLIENT`` invocation from the Integrations dashboard. - [Dashboard test surface: lease a provider token (FEATHER_API)](https://doc.featherhq.com/api-reference/integrations/dashboard-test-surface:-lease-a-provider-token-feather_api.md): Lease a provider token via ``FEATHER_API`` and prove it works. - [Disconnect (hard-delete the row + drop vendor-side connection)](https://doc.featherhq.com/api-reference/integrations/disconnect-hard-delete-the-row-+-drop-vendor-side-connection.md) - [Edit author-editable metadata on a single tool (response_field_map, is_enabled, input_defaults — defaults + pinned)](https://doc.featherhq.com/api-reference/integrations/edit-author-editable-metadata-on-a-single-tool-response_field_map-is_enabled-input_defaults-—-defaults-+-pinned.md): Update author-editable tool metadata. - [Enable or disable all tools on a connection](https://doc.featherhq.com/api-reference/integrations/enable-or-disable-all-tools-on-a-connection.md): Flip every tool on the connection on or off in one request. - [Finalize a connection after the OAuth popup closes](https://doc.featherhq.com/api-reference/integrations/finalize-a-connection-after-the-oauth-popup-closes.md) - [Get a connection](https://doc.featherhq.com/api-reference/integrations/get-a-connection.md) - [List the calling org's connections](https://doc.featherhq.com/api-reference/integrations/list-the-calling-orgs-connections.md) - [List the integrations this platform supports](https://doc.featherhq.com/api-reference/integrations/list-the-integrations-this-platform-supports.md) - [Manually re-sync the tool list for this connection](https://doc.featherhq.com/api-reference/integrations/manually-re-sync-the-tool-list-for-this-connection.md): Enqueue a tool-sync for an active connection. - [Pre-check a custom MCP server's OAuth/DCR support](https://doc.featherhq.com/api-reference/integrations/pre-check-a-custom-mcp-servers-oauthdcr-support.md): Read-only probe (no row created): runs OAuth discovery and reports whether the server advertises RFC 7591 dynamic client registration, so the connect UI can hide the manual client_id fields. ``server_url`` is SSRF-validated in the service layer. - [Recent webhook events for the org (testing/observability)](https://doc.featherhq.com/api-reference/integrations/recent-webhook-events-for-the-org-testingobservability.md): Org-scoped, read-only view of recently received webhook events. - [Rename a connection (slug stays immutable)](https://doc.featherhq.com/api-reference/integrations/rename-a-connection-slug-stays-immutable.md) - [Start the OAuth flow for a new connection](https://doc.featherhq.com/api-reference/integrations/start-the-oauth-flow-for-a-new-connection.md) - [Disable KB ACL (returns retrieval to byte-identical pre-ENG-640)](https://doc.featherhq.com/api-reference/knowledge-base-acl/disable-kb-acl-returns-retrieval-to-byte-identical-pre-eng-640.md) - [Enable KB ACL (requires a passing preflight → ready_to_enable)](https://doc.featherhq.com/api-reference/knowledge-base-acl/enable-kb-acl-requires-a-passing-preflight-→-ready_to_enable.md) - [Enqueue the KB ACL enable preflight (verifies coverage + config)](https://doc.featherhq.com/api-reference/knowledge-base-acl/enqueue-the-kb-acl-enable-preflight-verifies-coverage-+-config.md) - [Get the org's effective KB ACL config (role→clearance map + mode)](https://doc.featherhq.com/api-reference/knowledge-base-acl/get-the-orgs-effective-kb-acl-config-role→clearance-map-+-mode.md) - [Get the org's KB ACL rollout state + last preflight report](https://doc.featherhq.com/api-reference/knowledge-base-acl/get-the-orgs-kb-acl-rollout-state-+-last-preflight-report.md) - [Update the org's KB role→clearance map and/or classification mode](https://doc.featherhq.com/api-reference/knowledge-base-acl/update-the-orgs-kb-role→clearance-map-andor-classification-mode.md) - [Get an audit export job's status + per-file download tokens](https://doc.featherhq.com/api-reference/knowledge-base-audit/get-an-audit-export-jobs-status-+-per-file-download-tokens.md) - [Get one retrieval-audit log with its scopes and chunk refs](https://doc.featherhq.com/api-reference/knowledge-base-audit/get-one-retrieval-audit-log-with-its-scopes-and-chunk-refs.md) - [Query governed KB retrieval-audit logs (incl. misses/blocks/errors)](https://doc.featherhq.com/api-reference/knowledge-base-audit/query-governed-kb-retrieval-audit-logs-incl-missesblockserrors.md) - [Request an async encrypted KB audit export](https://doc.featherhq.com/api-reference/knowledge-base-audit/request-an-async-encrypted-kb-audit-export.md) - [Server-mediated, decrypted download of one export file](https://doc.featherhq.com/api-reference/knowledge-base-audit/server-mediated-decrypted-download-of-one-export-file.md) - [Add Root](https://doc.featherhq.com/api-reference/knowledge-base-connectors/add-root.md): Add a root to a connector source (Notion page id, a URL, an S3 key, or a Drive file). - [Browse Pages](https://doc.featherhq.com/api-reference/knowledge-base-connectors/browse-pages.md): Browse accessible Notion pages for root selection. - [Create Source](https://doc.featherhq.com/api-reference/knowledge-base-connectors/create-source.md): Attach a connector source (Notion connection, URL, S3, …) to a KB. - [Delete Root](https://doc.featherhq.com/api-reference/knowledge-base-connectors/delete-root.md): Remove a root from a connector source. - [Delete Source](https://doc.featherhq.com/api-reference/knowledge-base-connectors/delete-source.md): Detach a connector source from a KB. - [Drive Picker Config](https://doc.featherhq.com/api-reference/knowledge-base-connectors/drive-picker-config.md): Mint a short-lived Google Picker config (token + app id + api key). - [Get Source](https://doc.featherhq.com/api-reference/knowledge-base-connectors/get-source.md): Get a single connector source. - [Get Sync Status](https://doc.featherhq.com/api-reference/knowledge-base-connectors/get-sync-status.md): Get current sync status for a connector source. - [List Roots](https://doc.featherhq.com/api-reference/knowledge-base-connectors/list-roots.md): List roots for a connector source with keyset pagination. - [List Sources](https://doc.featherhq.com/api-reference/knowledge-base-connectors/list-sources.md): List connector sources for a KB with keyset pagination. - [Trigger Sync](https://doc.featherhq.com/api-reference/knowledge-base-connectors/trigger-sync.md): Trigger a manual resync for a connector source. - [Update Source Schedule](https://doc.featherhq.com/api-reference/knowledge-base-connectors/update-source-schedule.md): Enable/disable + configure a connector source's automatic (cron) re-sync. - [Add a case to an evaluation suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/add-a-case-to-an-evaluation-suite.md) - [Create an evaluation suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/create-an-evaluation-suite.md) - [Delete an evaluation case](https://doc.featherhq.com/api-reference/knowledge-base-evals/delete-an-evaluation-case.md) - [Delete an evaluation suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/delete-an-evaluation-suite.md) - [Get an evaluation run](https://doc.featherhq.com/api-reference/knowledge-base-evals/get-an-evaluation-run.md) - [Get an evaluation suite with its cases](https://doc.featherhq.com/api-reference/knowledge-base-evals/get-an-evaluation-suite-with-its-cases.md) - [List evaluation runs across the org (including runs whose suite was deleted)](https://doc.featherhq.com/api-reference/knowledge-base-evals/list-evaluation-runs-across-the-org-including-runs-whose-suite-was-deleted.md) - [List evaluation runs for a suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/list-evaluation-runs-for-a-suite.md) - [List evaluation suites](https://doc.featherhq.com/api-reference/knowledge-base-evals/list-evaluation-suites.md) - [List per-case results for a run](https://doc.featherhq.com/api-reference/knowledge-base-evals/list-per-case-results-for-a-run.md) - [Trigger a new evaluation run against a suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/trigger-a-new-evaluation-run-against-a-suite.md) - [Update an evaluation case](https://doc.featherhq.com/api-reference/knowledge-base-evals/update-an-evaluation-case.md) - [Update an evaluation suite](https://doc.featherhq.com/api-reference/knowledge-base-evals/update-an-evaluation-suite.md) - [Get the org's KB audit retention policy (creates defaults if unset)](https://doc.featherhq.com/api-reference/knowledge-base-governance/get-the-orgs-kb-audit-retention-policy-creates-defaults-if-unset.md) - [List a version's governance lifecycle history (newest first)](https://doc.featherhq.com/api-reference/knowledge-base-governance/list-a-versions-governance-lifecycle-history-newest-first.md) - [Update a version's lifecycle governance status / expiry](https://doc.featherhq.com/api-reference/knowledge-base-governance/update-a-versions-lifecycle-governance-status-expiry.md) - [Update the org's KB audit retention policy / legal hold](https://doc.featherhq.com/api-reference/knowledge-base-governance/update-the-orgs-kb-audit-retention-policy-legal-hold.md) - [Approve a document's pending classification](https://doc.featherhq.com/api-reference/knowledge-base/approve-a-documents-pending-classification.md) - [Confirm a quarantined version (true-positive; stays quarantined)](https://doc.featherhq.com/api-reference/knowledge-base/confirm-a-quarantined-version-true-positive;-stays-quarantined.md) - [Create a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/create-a-knowledge-base.md) - [Delete a document](https://doc.featherhq.com/api-reference/knowledge-base/delete-a-document.md) - [Delete a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/delete-a-knowledge-base.md) - [Delete a specific version (blocked if active)](https://doc.featherhq.com/api-reference/knowledge-base/delete-a-specific-version-blocked-if-active.md) - [Get a document](https://doc.featherhq.com/api-reference/knowledge-base/get-a-document.md) - [Get a document's sensitivity classification](https://doc.featherhq.com/api-reference/knowledge-base/get-a-documents-sensitivity-classification.md) - [Get a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/get-a-knowledge-base.md) - [Get a version by UUID, version number, or alias](https://doc.featherhq.com/api-reference/knowledge-base/get-a-version-by-uuid-version-number-or-alias.md) - [Get aggregate ingestion status for a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/get-aggregate-ingestion-status-for-a-knowledge-base.md) - [Get available KB configuration options](https://doc.featherhq.com/api-reference/knowledge-base/get-available-kb-configuration-options.md) - [Get ingestion job progress](https://doc.featherhq.com/api-reference/knowledge-base/get-ingestion-job-progress.md) - [Ingest documents (text, files, or mixed)](https://doc.featherhq.com/api-reference/knowledge-base/ingest-documents-text-files-or-mixed.md): Unified document ingestion endpoint. - [List all versions of a document](https://doc.featherhq.com/api-reference/knowledge-base/list-all-versions-of-a-document.md) - [List documents awaiting classification review](https://doc.featherhq.com/api-reference/knowledge-base/list-documents-awaiting-classification-review.md) - [List documents in a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/list-documents-in-a-knowledge-base.md) - [List documents in an ingestion job](https://doc.featherhq.com/api-reference/knowledge-base/list-documents-in-an-ingestion-job.md) - [List ingestion job logs grouped by document](https://doc.featherhq.com/api-reference/knowledge-base/list-ingestion-job-logs-grouped-by-document.md): Returns one group per child document with its logs in chronological order. Pagination is at the document level (`limit` = max documents per page). - [List ingestion jobs for a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/list-ingestion-jobs-for-a-knowledge-base.md) - [List knowledge bases](https://doc.featherhq.com/api-reference/knowledge-base/list-knowledge-bases.md) - [Manually correct a document's sensitivity classification](https://doc.featherhq.com/api-reference/knowledge-base/manually-correct-a-documents-sensitivity-classification.md) - [Promote a version to active](https://doc.featherhq.com/api-reference/knowledge-base/promote-a-version-to-active.md) - [Re-run sensitivity classification across a KB's documents](https://doc.featherhq.com/api-reference/knowledge-base/re-run-sensitivity-classification-across-a-kbs-documents.md) - [Release a quarantined version (reviewed false-positive)](https://doc.featherhq.com/api-reference/knowledge-base/release-a-quarantined-version-reviewed-false-positive.md) - [Retry a failed ingestion job](https://doc.featherhq.com/api-reference/knowledge-base/retry-a-failed-ingestion-job.md): Retry a failed or partially-failed ingestion job. - [Semantic search across knowledge bases](https://doc.featherhq.com/api-reference/knowledge-base/semantic-search-across-knowledge-bases.md) - [Update a document's title and/or metadata](https://doc.featherhq.com/api-reference/knowledge-base/update-a-documents-title-andor-metadata.md) - [Update a knowledge base](https://doc.featherhq.com/api-reference/knowledge-base/update-a-knowledge-base.md) - [Assign or clear the owner of a knowledge-gap cluster](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/assign-or-clear-the-owner-of-a-knowledge-gap-cluster.md) - [Audit-trail of lifecycle transitions for a cluster](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/audit-trail-of-lifecycle-transitions-for-a-cluster.md) - [Detail view of a single knowledge-gap cluster](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/detail-view-of-a-single-knowledge-gap-cluster.md) - [Headline knowledge-gap KPIs for the org over a date window](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/headline-knowledge-gap-kpis-for-the-org-over-a-date-window.md) - [Paginated list of knowledge-gap clusters with filters and sort](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/paginated-list-of-knowledge-gap-clusters-with-filters-and-sort.md) - [Per-document retrieval / citation / implication counts with failure rate](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/per-document-retrieval-citation-implication-counts-with-failure-rate.md) - [Per-session analysis result, signals, gap events, and linked clusters](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/per-session-analysis-result-signals-gap-events-and-linked-clusters.md) - [Resolve conversation turns referenced by knowledge-gap evidence](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/resolve-conversation-turns-referenced-by-knowledge-gap-evidence.md) - [Transition a cluster through the lifecycle state machine](https://doc.featherhq.com/api-reference/knowledge-gap-analytics/transition-a-cluster-through-the-lifecycle-state-machine.md) - [Add a persona to the global library (Feather staff only)](https://doc.featherhq.com/api-reference/library/add-a-persona-to-the-global-library-feather-staff-only.md) - [Attach a voice preset to a library persona (Feather staff only)](https://doc.featherhq.com/api-reference/library/attach-a-voice-preset-to-a-library-persona-feather-staff-only.md) - [Browse the persona library](https://doc.featherhq.com/api-reference/library/browse-the-persona-library.md) - [Delete a library persona (Feather staff only)](https://doc.featherhq.com/api-reference/library/delete-a-library-persona-feather-staff-only.md) - [Detach the voice preset from a library persona (Feather staff only)](https://doc.featherhq.com/api-reference/library/detach-the-voice-preset-from-a-library-persona-feather-staff-only.md) - [Get a library persona](https://doc.featherhq.com/api-reference/library/get-a-library-persona.md) - [Get the voice preset attached to a library persona](https://doc.featherhq.com/api-reference/library/get-the-voice-preset-attached-to-a-library-persona.md) - [Install a library persona into the caller's workspace](https://doc.featherhq.com/api-reference/library/install-a-library-persona-into-the-callers-workspace.md) - [Update a library persona (Feather staff only)](https://doc.featherhq.com/api-reference/library/update-a-library-persona-feather-staff-only.md) - [Update the voice preset on a library persona (Feather staff only)](https://doc.featherhq.com/api-reference/library/update-the-voice-preset-on-a-library-persona-feather-staff-only.md) - [List the MCP tools available to the chat surface](https://doc.featherhq.com/api-reference/mcp-chat/list-the-mcp-tools-available-to-the-chat-surface.md): Discovered MCP tools that the LLM can call from this chat surface. - [Stream an LLM chat turn that uses the MCP server as its toolbelt](https://doc.featherhq.com/api-reference/mcp-chat/stream-an-llm-chat-turn-that-uses-the-mcp-server-as-its-toolbelt.md): SSE stream of one chat turn. - [Delete all memories for a user (GDPR)](https://doc.featherhq.com/api-reference/memory/delete-all-memories-for-a-user-gdpr.md) - [Get all facts and entities for a user](https://doc.featherhq.com/api-reference/memory/get-all-facts-and-entities-for-a-user.md) - [Atomically replace all scenarios on a mock](https://doc.featherhq.com/api-reference/mocks/atomically-replace-all-scenarios-on-a-mock.md) - [Bulk update scenario priorities](https://doc.featherhq.com/api-reference/mocks/bulk-update-scenario-priorities.md) - [Create a mock](https://doc.featherhq.com/api-reference/mocks/create-a-mock.md) - [Create a scenario for a mock](https://doc.featherhq.com/api-reference/mocks/create-a-scenario-for-a-mock.md) - [Delete a mock](https://doc.featherhq.com/api-reference/mocks/delete-a-mock.md) - [Delete a scenario](https://doc.featherhq.com/api-reference/mocks/delete-a-scenario.md) - [Disable a mock](https://doc.featherhq.com/api-reference/mocks/disable-a-mock.md) - [Enable a mock](https://doc.featherhq.com/api-reference/mocks/enable-a-mock.md) - [Get a mock](https://doc.featherhq.com/api-reference/mocks/get-a-mock.md) - [Get a scenario](https://doc.featherhq.com/api-reference/mocks/get-a-scenario.md) - [Get a single dispatcher request log entry (verbose)](https://doc.featherhq.com/api-reference/mocks/get-a-single-dispatcher-request-log-entry-verbose.md) - [List mocks](https://doc.featherhq.com/api-reference/mocks/list-mocks.md) - [List scenarios on a mock (priority ASC)](https://doc.featherhq.com/api-reference/mocks/list-scenarios-on-a-mock-priority-asc.md) - [Paginated, filterable list of dispatcher requests for a mock](https://doc.featherhq.com/api-reference/mocks/paginated-filterable-list-of-dispatcher-requests-for-a-mock.md) - [Update a mock](https://doc.featherhq.com/api-reference/mocks/update-a-mock.md) - [Update a scenario](https://doc.featherhq.com/api-reference/mocks/update-a-scenario.md) - [Create a model router config](https://doc.featherhq.com/api-reference/model-router/create-a-model-router-config.md) - [Delete a model router config](https://doc.featherhq.com/api-reference/model-router/delete-a-model-router-config.md) - [Get a model router config](https://doc.featherhq.com/api-reference/model-router/get-a-model-router-config.md) - [Invoke a model with routing](https://doc.featherhq.com/api-reference/model-router/invoke-a-model-with-routing.md) - [List available models with pricing and capabilities](https://doc.featherhq.com/api-reference/model-router/list-available-models-with-pricing-and-capabilities.md) - [List model fallback events for auditing](https://doc.featherhq.com/api-reference/model-router/list-model-fallback-events-for-auditing.md) - [List model router configs](https://doc.featherhq.com/api-reference/model-router/list-model-router-configs.md) - [List selectable models plus per-role runtime model defaults](https://doc.featherhq.com/api-reference/model-router/list-selectable-models-plus-per-role-runtime-model-defaults.md): Selectable models + the code-default model each runtime role falls back to. - [Stream model responses via SSE](https://doc.featherhq.com/api-reference/model-router/stream-model-responses-via-sse.md) - [Update a model router config](https://doc.featherhq.com/api-reference/model-router/update-a-model-router-config.md) - [Browse the delivery-decision audit log (why a notification was/wasn't sent)](https://doc.featherhq.com/api-reference/notifications/browse-the-delivery-decision-audit-log-why-a-notification-waswasnt-sent.md) - [Browse the notification catalog merged with this org's config](https://doc.featherhq.com/api-reference/notifications/browse-the-notification-catalog-merged-with-this-orgs-config.md) - [Create a destination (verified on save via a test post)](https://doc.featherhq.com/api-reference/notifications/create-a-destination-verified-on-save-via-a-test-post.md) - [Create or update an event_type -> destination route](https://doc.featherhq.com/api-reference/notifications/create-or-update-an-event_type->-destination-route.md) - [Create/update the per-org template override (validates + increments version)](https://doc.featherhq.com/api-reference/notifications/createupdate-the-per-org-template-override-validates-+-increments-version.md) - [Delete a notification destination](https://doc.featherhq.com/api-reference/notifications/delete-a-notification-destination.md) - [Delete a routing rule](https://doc.featherhq.com/api-reference/notifications/delete-a-routing-rule.md) - [Delete the per-org override (revert to the platform default)](https://doc.featherhq.com/api-reference/notifications/delete-the-per-org-override-revert-to-the-platform-default.md) - [Discover channels the bot can post to (cached 5 min)](https://doc.featherhq.com/api-reference/notifications/discover-channels-the-bot-can-post-to-cached-5-min.md) - [Enable/disable a type and set its severity override / threshold config](https://doc.featherhq.com/api-reference/notifications/enabledisable-a-type-and-set-its-severity-override-threshold-config.md) - [Get org notification settings (default destination + timezone)](https://doc.featherhq.com/api-reference/notifications/get-org-notification-settings-default-destination-+-timezone.md) - [Get the effective template for a type (default or override) + variables manifest](https://doc.featherhq.com/api-reference/notifications/get-the-effective-template-for-a-type-default-or-override-+-variables-manifest.md) - [List configured notification destinations](https://doc.featherhq.com/api-reference/notifications/list-configured-notification-destinations.md) - [List event-type routing rules](https://doc.featherhq.com/api-reference/notifications/list-event-type-routing-rules.md) - [One-click enable the recommended starter set](https://doc.featherhq.com/api-reference/notifications/one-click-enable-the-recommended-starter-set.md) - [Render a preview (text + blocks) of candidate-or-effective slots](https://doc.featherhq.com/api-reference/notifications/render-a-preview-text-+-blocks-of-candidate-or-effective-slots.md) - [Send a test notification through the real dispatch path (notify())](https://doc.featherhq.com/api-reference/notifications/send-a-test-notification-through-the-real-dispatch-path-notify.md) - [Set the default destination and/or org timezone](https://doc.featherhq.com/api-reference/notifications/set-the-default-destination-andor-org-timezone.md) - [Strict-validate candidate slots (per-slot errors; valid=false is a 200)](https://doc.featherhq.com/api-reference/notifications/strict-validate-candidate-slots-per-slot-errors;-valid=false-is-a-200.md) - [Create a persona](https://doc.featherhq.com/api-reference/personas/create-a-persona.md) - [Delete a persona](https://doc.featherhq.com/api-reference/personas/delete-a-persona.md) - [Get a persona](https://doc.featherhq.com/api-reference/personas/get-a-persona.md) - [List personas](https://doc.featherhq.com/api-reference/personas/list-personas.md) - [Update a persona](https://doc.featherhq.com/api-reference/personas/update-a-persona.md) - [Attach/detach policies on an assistant revision](https://doc.featherhq.com/api-reference/policies/attachdetach-policies-on-an-assistant-revision.md) - [Create a policy](https://doc.featherhq.com/api-reference/policies/create-a-policy.md) - [Create a policy revision](https://doc.featherhq.com/api-reference/policies/create-a-policy-revision.md) - [Delete a policy](https://doc.featherhq.com/api-reference/policies/delete-a-policy.md) - [Delete a policy revision](https://doc.featherhq.com/api-reference/policies/delete-a-policy-revision.md) - [Describe an assistant's policy enforcement plan (per point, per transport)](https://doc.featherhq.com/api-reference/policies/describe-an-assistants-policy-enforcement-plan-per-point-per-transport.md) - [Describe the expression-check DSL (paths per point, predicates, operators)](https://doc.featherhq.com/api-reference/policies/describe-the-expression-check-dsl-paths-per-point-predicates-operators.md) - [Describe the policy authoring cascade + per-transport runtime resolution](https://doc.featherhq.com/api-reference/policies/describe-the-policy-authoring-cascade-+-per-transport-runtime-resolution.md) - [Detach all policies from an assistant revision](https://doc.featherhq.com/api-reference/policies/detach-all-policies-from-an-assistant-revision.md) - [Enable/disable all policy enforcement for the org (kill switch)](https://doc.featherhq.com/api-reference/policies/enabledisable-all-policy-enforcement-for-the-org-kill-switch.md) - [Get a policy](https://doc.featherhq.com/api-reference/policies/get-a-policy.md) - [Get a policy revision](https://doc.featherhq.com/api-reference/policies/get-a-policy-revision.md) - [Get an assistant revision's attached policies](https://doc.featherhq.com/api-reference/policies/get-an-assistant-revisions-attached-policies.md) - [Get the org-level llm_judge model default](https://doc.featherhq.com/api-reference/policies/get-the-org-level-llm_judge-model-default.md) - [Get the org-wide policy enforcement switch](https://doc.featherhq.com/api-reference/policies/get-the-org-wide-policy-enforcement-switch.md) - [List policies](https://doc.featherhq.com/api-reference/policies/list-policies.md) - [List policy evaluation audit rows (what enforcement happened, newest-first)](https://doc.featherhq.com/api-reference/policies/list-policy-evaluation-audit-rows-what-enforcement-happened-newest-first.md) - [List policy revisions](https://doc.featherhq.com/api-reference/policies/list-policy-revisions.md) - [Resolve a tool's input/output schema for policy authoring](https://doc.featherhq.com/api-reference/policies/resolve-a-tools-inputoutput-schema-for-policy-authoring.md) - [Set active policy revision](https://doc.featherhq.com/api-reference/policies/set-active-policy-revision.md) - [Set/clear the org-level llm_judge model default](https://doc.featherhq.com/api-reference/policies/setclear-the-org-level-llm_judge-model-default.md) - [Update a policy's identity fields](https://doc.featherhq.com/api-reference/policies/update-a-policys-identity-fields.md) - [Aggregate PII scrub stats](https://doc.featherhq.com/api-reference/privacy/aggregate-pii-scrub-stats.md) - [Create privacy config for organization](https://doc.featherhq.com/api-reference/privacy/create-privacy-config-for-organization.md) - [Delete privacy config (reverts to defaults)](https://doc.featherhq.com/api-reference/privacy/delete-privacy-config-reverts-to-defaults.md) - [Get privacy config for organization](https://doc.featherhq.com/api-reference/privacy/get-privacy-config-for-organization.md) - [List PII scrub audit events](https://doc.featherhq.com/api-reference/privacy/list-pii-scrub-audit-events.md) - [Update privacy config for organization](https://doc.featherhq.com/api-reference/privacy/update-privacy-config-for-organization.md) - [Create a retention policy](https://doc.featherhq.com/api-reference/retention-policies/create-a-retention-policy.md) - [Delete a retention policy](https://doc.featherhq.com/api-reference/retention-policies/delete-a-retention-policy.md) - [List retention policies](https://doc.featherhq.com/api-reference/retention-policies/list-retention-policies.md) - [Update a retention policy](https://doc.featherhq.com/api-reference/retention-policies/update-a-retention-policy.md) - [Close a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/close-a-v2-conversation.md) - [Delete a v2 conversation and purge its data + blobs](https://doc.featherhq.com/api-reference/runtime-v2/delete-a-v2-conversation-and-purge-its-data-+-blobs.md): Hard-delete a conversation, its entire subtree, and its S3 blobs. - [End a v2 conversation through the close pipeline (admin)](https://doc.featherhq.com/api-reference/runtime-v2/end-a-v2-conversation-through-the-close-pipeline-admin.md): conv_* replacement for the retired ``POST /v1/runtime/end_session``. - [Get a v2 conversation with recent turns](https://doc.featherhq.com/api-reference/runtime-v2/get-a-v2-conversation-with-recent-turns.md) - [Get or create a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/get-or-create-a-v2-conversation.md) - [Get the customer-readable trace for a single v2 turn](https://doc.featherhq.com/api-reference/runtime-v2/get-the-customer-readable-trace-for-a-single-v2-turn.md) - [Get the customer-readable trace for a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/get-the-customer-readable-trace-for-a-v2-conversation.md) - [Get the reconstructed engineering waterfall for a single v2 turn](https://doc.featherhq.com/api-reference/runtime-v2/get-the-reconstructed-engineering-waterfall-for-a-single-v2-turn.md): Per-turn engineering waterfall, reconstructed from Langfuse (ENG-689 T3). - [List a v2 conversation's transcript](https://doc.featherhq.com/api-reference/runtime-v2/list-a-v2-conversations-transcript.md) - [List the per-turn engineering-waterfall summaries for a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/list-the-per-turn-engineering-waterfall-summaries-for-a-v2-conversation.md): Session-level engineering list, reconstructed from Langfuse (ENG-689 T3). - [List v2 conversations](https://doc.featherhq.com/api-reference/runtime-v2/list-v2-conversations.md) - [Mint a fresh test-type v2 conversation bound to an agent or team](https://doc.featherhq.com/api-reference/runtime-v2/mint-a-fresh-test-type-v2-conversation-bound-to-an-agent-or-team.md): conv_* replacement for the retired ``POST /v1/runtime/test-chat``. - [Poll a v2 conversation for its status and the message tail since a seq](https://doc.featherhq.com/api-reference/runtime-v2/poll-a-v2-conversation-for-its-status-and-the-message-tail-since-a-seq.md): The HITL-04 §6.6 poll primitive — net-new, message+seq shaped. - [Re-run all current evaluator bindings against a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/re-run-all-current-evaluator-bindings-against-a-v2-conversation.md): v2 alias of ``POST /v1/sessions/{id}/reevaluate``. - [Run one turn of a v2 conversation](https://doc.featherhq.com/api-reference/runtime-v2/run-one-turn-of-a-v2-conversation.md) - [Run one v2 conversation turn with an SSE response](https://doc.featherhq.com/api-reference/runtime-v2/run-one-v2-conversation-turn-with-an-sse-response.md): SSE counterpart to ``POST /v2/conversations/{id}/turns``. - [Create a scenario](https://doc.featherhq.com/api-reference/scenarios/create-a-scenario.md) - [Delete a scenario](https://doc.featherhq.com/api-reference/scenarios/delete-a-scenario.md) - [Generate an unsaved scenario draft from a brief](https://doc.featherhq.com/api-reference/scenarios/generate-an-unsaved-scenario-draft-from-a-brief.md) - [Generate an unsaved scenario draft from a captured session](https://doc.featherhq.com/api-reference/scenarios/generate-an-unsaved-scenario-draft-from-a-captured-session.md) - [Get a scenario](https://doc.featherhq.com/api-reference/scenarios/get-a-scenario.md) - [List scenarios](https://doc.featherhq.com/api-reference/scenarios/list-scenarios.md) - [Update a scenario](https://doc.featherhq.com/api-reference/scenarios/update-a-scenario.md) - [Fetch the canonical analysis input for a completed session](https://doc.featherhq.com/api-reference/sessions/fetch-the-canonical-analysis-input-for-a-completed-session.md): Returns the ``SessionAnalysisInput`` shape defined in ``src/knowledge_gap/analysis_schemas.py``. - [Add an item to a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/add-an-item-to-a-simulation-suite.md) - [Cancel every non-terminal child of a suite run](https://doc.featherhq.com/api-reference/sim_suites/cancel-every-non-terminal-child-of-a-suite-run.md) - [Clone a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/clone-a-simulation-suite.md) - [Create a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/create-a-simulation-suite.md) - [Delete a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/delete-a-simulation-suite.md) - [Dispatch a simulation suite run (fan-out per item)](https://doc.featherhq.com/api-reference/sim_suites/dispatch-a-simulation-suite-run-fan-out-per-item.md) - [Get a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/get-a-simulation-suite.md) - [Get a simulation suite run with its child runs](https://doc.featherhq.com/api-reference/sim_suites/get-a-simulation-suite-run-with-its-child-runs.md) - [List simulation suite runs for a suite](https://doc.featherhq.com/api-reference/sim_suites/list-simulation-suite-runs-for-a-suite.md) - [List simulation suites](https://doc.featherhq.com/api-reference/sim_suites/list-simulation-suites.md) - [Re-dispatch every failed child of a suite run](https://doc.featherhq.com/api-reference/sim_suites/re-dispatch-every-failed-child-of-a-suite-run.md) - [Remove a simulation suite item](https://doc.featherhq.com/api-reference/sim_suites/remove-a-simulation-suite-item.md) - [Update a simulation suite](https://doc.featherhq.com/api-reference/sim_suites/update-a-simulation-suite.md) - [Update a simulation suite item](https://doc.featherhq.com/api-reference/sim_suites/update-a-simulation-suite-item.md) - [Dispatch a simulation run](https://doc.featherhq.com/api-reference/simulation_runs/dispatch-a-simulation-run.md) - [Get a simulation run](https://doc.featherhq.com/api-reference/simulation_runs/get-a-simulation-run.md) - [Get the customer-readable trace for a simulation run](https://doc.featherhq.com/api-reference/simulation_runs/get-the-customer-readable-trace-for-a-simulation-run.md) - [Get the customer-readable trace for one turn of a simulation run](https://doc.featherhq.com/api-reference/simulation_runs/get-the-customer-readable-trace-for-one-turn-of-a-simulation-run.md) - [List simulation runs](https://doc.featherhq.com/api-reference/simulation_runs/list-simulation-runs.md) - [Get the org's SMS settings](https://doc.featherhq.com/api-reference/sms/get-the-orgs-sms-settings.md) - [Send an outbound SMS (queued; delivered asynchronously)](https://doc.featherhq.com/api-reference/sms/send-an-outbound-sms-queued;-delivered-asynchronously.md) - [Update the org's SMS settings (partial)](https://doc.featherhq.com/api-reference/sms/update-the-orgs-sms-settings-partial.md) - [Add a member to a team revision](https://doc.featherhq.com/api-reference/teams/add-a-member-to-a-team-revision.md) - [Create a team](https://doc.featherhq.com/api-reference/teams/create-a-team.md) - [Create a team revision](https://doc.featherhq.com/api-reference/teams/create-a-team-revision.md) - [Delete a team](https://doc.featherhq.com/api-reference/teams/delete-a-team.md) - [Get a team](https://doc.featherhq.com/api-reference/teams/get-a-team.md) - [Get a team revision](https://doc.featherhq.com/api-reference/teams/get-a-team-revision.md) - [List members on a team revision](https://doc.featherhq.com/api-reference/teams/list-members-on-a-team-revision.md) - [List team revisions](https://doc.featherhq.com/api-reference/teams/list-team-revisions.md) - [List teams](https://doc.featherhq.com/api-reference/teams/list-teams.md) - [Remove a member from a team revision](https://doc.featherhq.com/api-reference/teams/remove-a-member-from-a-team-revision.md) - [Set active team revision](https://doc.featherhq.com/api-reference/teams/set-active-team-revision.md) - [Update a member on a team revision](https://doc.featherhq.com/api-reference/teams/update-a-member-on-a-team-revision.md) - [Update a team](https://doc.featherhq.com/api-reference/teams/update-a-team.md) - [Create a tool revision](https://doc.featherhq.com/api-reference/tools/create-a-tool-revision.md) - [Create an API tool](https://doc.featherhq.com/api-reference/tools/create-an-api-tool.md) - [Delete a tool revision](https://doc.featherhq.com/api-reference/tools/delete-a-tool-revision.md) - [Delete an API tool](https://doc.featherhq.com/api-reference/tools/delete-an-api-tool.md) - [Disable an API tool](https://doc.featherhq.com/api-reference/tools/disable-an-api-tool.md) - [Enable an API tool](https://doc.featherhq.com/api-reference/tools/enable-an-api-tool.md) - [Execute an API tool](https://doc.featherhq.com/api-reference/tools/execute-an-api-tool.md) - [Get a tool revision](https://doc.featherhq.com/api-reference/tools/get-a-tool-revision.md) - [Get an API tool by ID](https://doc.featherhq.com/api-reference/tools/get-an-api-tool-by-id.md) - [List API tools](https://doc.featherhq.com/api-reference/tools/list-api-tools.md) - [List tool revisions](https://doc.featherhq.com/api-reference/tools/list-tool-revisions.md) - [Preview a revision's RAW response + narrowed field map (no persist)](https://doc.featherhq.com/api-reference/tools/preview-a-revisions-raw-response-+-narrowed-field-map-no-persist.md): Run a revision's HTTP config and return the RAW body + a narrowed preview. - [Set the active tool revision](https://doc.featherhq.com/api-reference/tools/set-the-active-tool-revision.md) - [Update a tool revision](https://doc.featherhq.com/api-reference/tools/update-a-tool-revision.md) - [Update an API tool](https://doc.featherhq.com/api-reference/tools/update-an-api-tool.md) - [Create a voice pipeline config for an agent or persona (1:1)](https://doc.featherhq.com/api-reference/voice/create-a-voice-pipeline-config-for-an-agent-or-persona-1:1.md) - [Delete a voice pipeline config](https://doc.featherhq.com/api-reference/voice/delete-a-voice-pipeline-config.md) - [Get a voice call's scrubbed transcript and audio URL](https://doc.featherhq.com/api-reference/voice/get-a-voice-calls-scrubbed-transcript-and-audio-url.md) - [Get a voice pipeline config by id](https://doc.featherhq.com/api-reference/voice/get-a-voice-pipeline-config-by-id.md) - [Get Recording Playback Url](https://doc.featherhq.com/api-reference/voice/get-recording-playback-url.md) - [Get the team-level voice pipeline config for a team](https://doc.featherhq.com/api-reference/voice/get-the-team-level-voice-pipeline-config-for-a-team.md) - [Get the voice pipeline config for a persona](https://doc.featherhq.com/api-reference/voice/get-the-voice-pipeline-config-for-a-persona.md) - [Get the voice pipeline config for an agent](https://doc.featherhq.com/api-reference/voice/get-the-voice-pipeline-config-for-an-agent.md) - [Get Voice](https://doc.featherhq.com/api-reference/voice/get-voice.md) - [Get Warm Transfer Detail](https://doc.featherhq.com/api-reference/voice/get-warm-transfer-detail.md): Consult recording (File B) + scrubbed consult transcript. - [Ingest a voice call (ASR + PII scrub + optional audio retention)](https://doc.featherhq.com/api-reference/voice/ingest-a-voice-call-asr-+-pii-scrub-+-optional-audio-retention.md) - [List Stt Models](https://doc.featherhq.com/api-reference/voice/list-stt-models.md) - [List Tts Models](https://doc.featherhq.com/api-reference/voice/list-tts-models.md) - [List voice pipeline configs for the org](https://doc.featherhq.com/api-reference/voice/list-voice-pipeline-configs-for-the-org.md) - [List Voices](https://doc.featherhq.com/api-reference/voice/list-voices.md) - [Outbound](https://doc.featherhq.com/api-reference/voice/outbound.md) - [Partial update of a voice pipeline config](https://doc.featherhq.com/api-reference/voice/partial-update-of-a-voice-pipeline-config.md) - [Web Call](https://doc.featherhq.com/api-reference/voice/web-call.md): Mint a LiveKit access token + auto-dispatch directive for a browser call. - [Create a hosted Svix App Portal link for the caller's org](https://doc.featherhq.com/api-reference/webhooks/create-a-hosted-svix-app-portal-link-for-the-callers-org.md): Mint a short-lived hosted App Portal link for the authenticated org. - [List supported customer webhook event types](https://doc.featherhq.com/api-reference/webhooks/list-supported-customer-webhook-event-types.md): Return the webhook events the caller's org may subscribe to. - [Create Session](https://doc.featherhq.com/api-reference/workflow-playground/create-session.md) - [Get Session Info](https://doc.featherhq.com/api-reference/workflow-playground/get-session-info.md) - [Resume Approval](https://doc.featherhq.com/api-reference/workflow-playground/resume-approval.md): Approve/deny the approval a suspended session is parked on; stream the continuation. - [Send Message](https://doc.featherhq.com/api-reference/workflow-playground/send-message.md) - [Bulk delete workflows](https://doc.featherhq.com/api-reference/workflows/bulk-delete-workflows.md) - [Cancel an in-flight workflow compile (best-effort)](https://doc.featherhq.com/api-reference/workflows/cancel-an-in-flight-workflow-compile-best-effort.md) - [Compile a workflow revision (async)](https://doc.featherhq.com/api-reference/workflows/compile-a-workflow-revision-async.md): Resolve ``@references`` + compute the cache key. On a cache hit return the stored graph (HTTP 200, ``cached=true``); otherwise mark the revision ``pending``, enqueue the Celery compile task, and return HTTP 202 with the ``task_id``. Poll ``GET /workflows/revisions/{id}`` for the result. - [Create a workflow](https://doc.featherhq.com/api-reference/workflows/create-a-workflow.md) - [Create a workflow revision](https://doc.featherhq.com/api-reference/workflows/create-a-workflow-revision.md) - [Delete a workflow](https://doc.featherhq.com/api-reference/workflows/delete-a-workflow.md) - [Delete a workflow revision](https://doc.featherhq.com/api-reference/workflows/delete-a-workflow-revision.md) - [Diff two workflow revisions](https://doc.featherhq.com/api-reference/workflows/diff-two-workflow-revisions.md): Compute a two-layer diff between two revisions of the same workflow. - [Fork a workflow revision into a draft and recompile it](https://doc.featherhq.com/api-reference/workflows/fork-a-workflow-revision-into-a-draft-and-recompile-it.md): Recompile a (possibly published) revision without mutating it. - [Get a workflow](https://doc.featherhq.com/api-reference/workflows/get-a-workflow.md) - [Get a workflow revision](https://doc.featherhq.com/api-reference/workflows/get-a-workflow-revision.md) - [Get a workflow revision's compiled graph](https://doc.featherhq.com/api-reference/workflows/get-a-workflow-revisions-compiled-graph.md) - [Get a workflow revision's tool-input defaults (enriched view)](https://doc.featherhq.com/api-reference/workflows/get-a-workflow-revisions-tool-input-defaults-enriched-view.md) - [List workflow revisions](https://doc.featherhq.com/api-reference/workflows/list-workflow-revisions.md) - [List workflows](https://doc.featherhq.com/api-reference/workflows/list-workflows.md) - [Replace a workflow revision's tool-input defaults (draft-only)](https://doc.featherhq.com/api-reference/workflows/replace-a-workflow-revisions-tool-input-defaults-draft-only.md) - [Set the active workflow revision](https://doc.featherhq.com/api-reference/workflows/set-the-active-workflow-revision.md) - [Update a workflow](https://doc.featherhq.com/api-reference/workflows/update-a-workflow.md) - [Update a workflow revision](https://doc.featherhq.com/api-reference/workflows/update-a-workflow-revision.md) - [Validate a workflow graph without saving it](https://doc.featherhq.com/api-reference/workflows/validate-a-workflow-graph-without-saving-it.md) - [Validate and manually replace a workflow revision's compiled graph](https://doc.featherhq.com/api-reference/workflows/validate-and-manually-replace-a-workflow-revisions-compiled-graph.md) - [Authenticate Requests to the Feather Platform API](https://doc.featherhq.com/authentication.md): Create and manage API keys for Feather. Pass your key in the x-api-key header on every request. - [Agents: The Core AI Units of Feather](https://doc.featherhq.com/concepts/agents.md): Agents are the AI actors in Feather. Each agent has a system prompt, knowledge bases, tools, and policies — all versioned through revisions. - [Conversations: Feather's Unified Session Model](https://doc.featherhq.com/concepts/conversations.md): Conversations represent a continuous session between an end user and an agent. Every channel — voice, SMS, email, and API — maps to a conversation. - [Knowledge Bases: Ground Agent Responses in Your Data](https://doc.featherhq.com/concepts/knowledge-bases.md): Knowledge bases store and index your documents so agents can retrieve relevant content at runtime. Supports files, text, and connectors like Notion and Google Drive. - [Policies: Control What Your Agents Can Say and Do](https://doc.featherhq.com/concepts/policies.md): Policies are rules that run at defined enforcement points in every conversation turn. Use them to block, redact, append disclaimers, or require approval. - [Workflows: Structured Conversation Graphs for Agents](https://doc.featherhq.com/concepts/workflows.md): Workflows define graph-based conversation flows that agents follow. Each workflow is compiled from instructions into a graph with nodes and edges. - [Build and Deploy Your First Feather AI Agent](https://doc.featherhq.com/guides/build-your-first-agent.md): Create an AI agent with a system prompt, attach a knowledge base, add a custom tool, and bind it to a conversation — step by step. - [Connect Third-Party Integrations to Your Agents](https://doc.featherhq.com/guides/connect-an-integration.md): Add Slack, Notion, Twilio, Google Drive, and custom MCP servers to Feather. Give your agents real-world tools backed by your existing services. - [Evaluate and Test Your Agents with Feather Evals](https://doc.featherhq.com/guides/evaluations.md): Create evaluators, bind them to agents, run simulation suites with AI personas, and use knowledge base eval suites to measure retrieval quality. - [Human-in-the-Loop: Approvals and Agent Handoffs](https://doc.featherhq.com/guides/human-in-the-loop.md): Pause agent conversations for human approval, hand off to a live operator, and relay messages back to end users — using Feather's HITL API. - [Ingest and Index Documents into a Knowledge Base](https://doc.featherhq.com/guides/ingest-documents.md): Upload files, paste text, or sync from Notion and Google Drive into a Feather knowledge base. Track ingestion status and search your indexed content. - [Run Multi-Turn Conversations with a Feather Agent](https://doc.featherhq.com/guides/run-a-conversation.md): Open a conversation session, send user messages, stream agent responses, and close the session when done — with full code examples. - [Build Voice Agents: Inbound and Outbound Calls](https://doc.featherhq.com/guides/voice-calls.md): Configure a voice pipeline, connect a phone number, and handle inbound and outbound calls with Feather's AI voice agents — including warm call transfer. - [Feather: AI-Powered Customer Experience API](https://doc.featherhq.com/introduction.md): Feather is a unified customer experience platform. Build AI agents, ingest knowledge, run conversations across voice, SMS, and email — all through one API. - [Get Started with Feather in Under 5 Minutes](https://doc.featherhq.com/quickstart.md): Make your first Feather API call, create an agent, and run a conversation end-to-end in just a few steps. ## OpenAPI Specs - [openapi.source](https://doc.featherhq.com/api-reference/openapi.source.json) - [openapi](https://doc.featherhq.com/api-reference/openapi.json)