# VisIQ ## Docs - [VisIQ — AI Agent Governance SDK](https://docs.visiqlabs.com/introduction.md): Control what your AI agents can do, see, and prove they did. One import, one function call. - [Quickstart](https://docs.visiqlabs.com/quickstart.md): Add governance to your AI agent in under 5 minutes. One import, one function call. - [LangChain Quickstart](https://docs.visiqlabs.com/quickstart/langchain.md): Wrap a LangChain AgentExecutor or LangGraph graph with VisIQ governance in one function call. - [Vercel AI SDK Quickstart](https://docs.visiqlabs.com/quickstart/vercel-ai-sdk.md): Wrap a Vercel AI SDK agent with VisIQ governance in one function call. - [Mastra Quickstart](https://docs.visiqlabs.com/quickstart/mastra.md): Wrap a Mastra agent with VisIQ governance in one function call. - [OpenAI Agents SDK Quickstart](https://docs.visiqlabs.com/quickstart/openai-agents-sdk.md): Wrap an OpenAI Agents SDK agent with VisIQ governance in one function call. - [Semantic Kernel Quickstart](https://docs.visiqlabs.com/quickstart/semantic-kernel.md): Govern a Semantic Kernel agent with VisIQ in one function call — Microsoft's Python SDK or the npm JavaScript port. - [LlamaIndex.TS Quickstart](https://docs.visiqlabs.com/quickstart/llamaindex.md): Wrap a LlamaIndex.TS agent workflow with VisIQ governance in one function call. - [VoltAgent Quickstart](https://docs.visiqlabs.com/quickstart/voltagent.md): Wrap a VoltAgent agent with VisIQ governance in one function call. - [OpenClaw Integration](https://docs.visiqlabs.com/quickstart/openclaw.md): Gate every OpenClaw tool call with VisIQ action governance, retrieval redaction, and the audit trail — one plugin, six hooks. - [Claude Code Integration](https://docs.visiqlabs.com/quickstart/claude-code.md): Govern the Claude Code CLI through VisIQ action governance, retrieval redaction, and the audit trail with three native hooks. - [LangGraph Quickstart](https://docs.visiqlabs.com/quickstart/langgraph.md): Govern a LangGraph agent's tools with VisIQ using the published `visiq` Python wheel. - [Pydantic AI Quickstart](https://docs.visiqlabs.com/quickstart/pydantic-ai.md): Govern a Pydantic AI agent's tools with VisIQ using the published `visiq` Python wheel. - [Google ADK Quickstart](https://docs.visiqlabs.com/quickstart/google-adk.md): Govern a Google Agent Development Kit agent's tools with VisIQ using the published `visiq` Python wheel. - [Strands Agents Quickstart](https://docs.visiqlabs.com/quickstart/strands.md): Govern a Strands Agents agent's tools with VisIQ using the published `visiq` Python wheel. - [CrewAI Quickstart](https://docs.visiqlabs.com/quickstart/crewai.md): Govern a CrewAI agent's tools with VisIQ using the published `visiq` Python wheel. - [AutoGen Quickstart](https://docs.visiqlabs.com/quickstart/autogen.md): Govern an AutoGen agent's tools with VisIQ using the published `visiq` Python wheel. - [SDK Reference](https://docs.visiqlabs.com/reference.md): API reference for @visiq/harness — the visiq() function, VisiqOptions, framework detection, agent modes, local evaluation, and governance outcomes. - [REST API conventions](https://docs.visiqlabs.com/reference/rest-conventions.md): Conventions shared across every VisIQ REST endpoint — the validation-error body, the /v1 vs unversioned path split, list pagination, and the API stability policy. - [Python SDK Reference](https://docs.visiqlabs.com/reference-python.md): API reference for the visiq Python package — the Governor harness, the low-level local decision gates (gate_action / gate_retrieval / decide), config resolution, and the ToolBlocked exception. - [Go SDK Reference](https://docs.visiqlabs.com/reference-go.md): Local-decision reference for the Go binding to the VisIQ governance core — build-from-repo GateAction / GateRetrieval over the same compiled Rust core the Python and TypeScript SDKs use. - [Java SDK Reference](https://docs.visiqlabs.com/reference-java.md): Local-decision reference for the Java binding to the VisIQ governance core — gateAction / gateRetrieval over the same compiled Rust core the Python and TypeScript SDKs use, via the Panama FFM API. - [Ruby SDK Reference](https://docs.visiqlabs.com/reference-ruby.md): Local-decision reference for the published Ruby gem binding to the VisIQ governance core — gate_action / gate_retrieval over the same compiled Rust core the Python and TypeScript SDKs use, via Fiddle FFI. - [SDK versioning & compatibility](https://docs.visiqlabs.com/versioning.md): The VisIQ SDK versioning posture — pre-1.0 today (no wire-compatibility guarantee yet), the two engineering invariants we hold even now, and the compatibility window that takes effect at v1.0. - [Troubleshooting](https://docs.visiqlabs.com/troubleshooting.md): Symptom → cause → fix for the errors you are most likely to hit wiring up the VisIQ harness — bad keys, 401/403 responses, missing peer deps, and a silently ungoverned agent. - [Action Governance](https://docs.visiqlabs.com/rules/action/introduction.md): Controls what your AI agents can do. Every tool call passes through policy evaluation before executing. - [Rules](https://docs.visiqlabs.com/rules/action/rules.md): Define what your AI agents can and cannot do with policy rules evaluated in-process. - [Human-in-the-Loop](https://docs.visiqlabs.com/rules/action/hitl.md): Route sensitive AI agent actions to humans for real-time approval over Slack and email (Microsoft Teams coming soon). - [API Reference](https://docs.visiqlabs.com/rules/action/api-reference.md): Complete REST API reference for the action-governance endpoints. - [Retrieval Governance](https://docs.visiqlabs.com/rules/retrieval/introduction.md): Retrieval-facet governance inside the visiq() harness. Governs what your AI agents can see at runtime. - [Rules](https://docs.visiqlabs.com/rules/retrieval/rules.md): Define retrieval policies for your AI agents with trust tiers, surfaces, and per-branch masking. - [Emergency Bypass](https://docs.visiqlabs.com/rules/retrieval/emergency-bypass.md): Suspend enforcement of a single retrieval rule for a bounded window — fully audited, auto-expiring. - [API Reference](https://docs.visiqlabs.com/rules/retrieval/api-reference.md): Complete REST API reference for the retrieval-governance endpoints. - [Delegation Governance](https://docs.visiqlabs.com/rules/delegation/introduction.md): Governs agent-to-agent handoffs — when one agent delegates authority to another, the child's power is the parent's authority intersected with an explicit, revocable grant. - [API Reference](https://docs.visiqlabs.com/rules/delegation/api-reference.md): Complete REST API reference for the delegation-governance endpoints — the agent-to-agent grant lifecycle and per-action enforcement. - [Unified Rules](https://docs.visiqlabs.com/rules/unified/introduction.md): One rule surface and one evaluation call over every governed operation — action, retrieval, and delegation — folded into a single rules table and a single decision vocabulary. - [API Reference](https://docs.visiqlabs.com/rules/unified/api-reference.md): Complete REST API reference for the unified rule surface — one CRUD collection over every operation, the SDK bundle, and the single evaluation call. - [Audit Trail](https://docs.visiqlabs.com/record/introduction.md): A cryptographically signed, independently verifiable audit trail for every governance decision. - [Decision Receipts](https://docs.visiqlabs.com/record/receipts.md): The cryptography behind the audit trail — Ed25519 receipts, Merkle batching, HSM-signed roots, RFC 3161 timestamps — and how to verify every layer, online or offline. - [API Reference](https://docs.visiqlabs.com/record/api-reference.md): Complete REST API reference for the audit-trail record surface — envelope ingestion, record and sub-resource reads, finalization, the checkpoint feed, and the versioned audit log. - [Discovery](https://docs.visiqlabs.com/discovery/introduction.md): Discover every custom AI agent, MCP server, AI framework, and tool in your environment — plus local models, coding agents, and shadow AI — before you decide what to govern. - [Install the Deployed Sensor](https://docs.visiqlabs.com/discovery/deployed-sensor.md): Install the visiq-discovery sensor persistently on a host or across a managed fleet, with an authenticated download and a verified checksum. - [Slack approvals](https://docs.visiqlabs.com/connectors/slack.md): Connect Slack so Human-in-the-Loop approvals arrive as an interactive message with working Approve and Deny buttons. - [Email approvals](https://docs.visiqlabs.com/connectors/email.md): Set the catch-all address that receives Human-in-the-Loop approvals for agents with no registered owner. - [Stream logs to Datadog](https://docs.visiqlabs.com/connectors/datadog.md): Continuously ship your governance decision and audit logs to your own Datadog organization. - [Stream logs to Elasticsearch](https://docs.visiqlabs.com/connectors/elastic.md): Continuously ship your governance decision and audit logs to your own Elastic deployment with a least-privilege API key. - [Stream logs to Rapid7](https://docs.visiqlabs.com/connectors/rapid7.md): Continuously ship your governance decision and audit logs to a Rapid7 InsightIDR Custom Logs event source — with no Rapid7 API key. - [API Examples — Notebooks](https://docs.visiqlabs.com/examples/notebooks.md): Runnable Jupyter notebooks that do real data science over your governance data — including an independent, from-scratch re-verification of the transparency log. - [Platform Automation](https://docs.visiqlabs.com/automation/introduction.md): Automate the VisIQ management API from scripts and CI with permission-scoped automation keys. - [Managing API Keys](https://docs.visiqlabs.com/automation/api-keys.md): Create, rotate, and revoke automation keys — key format, expiry, grace windows, rate limits, and error codes. - [Agent self-registration](https://docs.visiqlabs.com/automation/agent-device-flow.md): How an AI agent obtains its own VisIQ credential through the human-approved agent_auth device flow — register, get a user code, have an operator approve, poll for the key. - [Platform MCP server](https://docs.visiqlabs.com/automation/mcp.md): Operate VisIQ from any MCP client — the authenticated Model Context Protocol server exposing rules, agents, decisions, HITL, settings, and natural-language queries as tools. - [OEM Partner API](https://docs.visiqlabs.com/partners/oem-api.md): Provision, meter, and manage the sub-tenant orgs embedded in your product — authentication, endpoints, usage reconciliation, lifecycle, and webhooks. - [Sandbox mode](https://docs.visiqlabs.com/partners/oem-sandbox.md): Build and test the full OEM provisioning + usage + statement flow with a test-mode key — no billing, no live tenants touched. - [Versioning & deprecation](https://docs.visiqlabs.com/partners/oem-versioning.md): How the OEM Partner API evolves — the dated version header, what counts as additive vs breaking, and the 12-month deprecation window. - [White-Label Walkthrough](https://docs.visiqlabs.com/partners/white-label.md): Take an OEM deployment from neutral VisIQ chrome to your own brand and domain — branding, domain verification, preview, and go-live. - [Authentication](https://docs.visiqlabs.com/authentication.md): The canonical guide to VisIQ credentials — the two key audiences (harness vs management), permissions and scopes, rotation, self-revocation, the agent device flow, and MCP. - [Glossary](https://docs.visiqlabs.com/glossary.md): One place for VisIQ's vocabulary — governance outcomes, operation facets, agent modes, trust tiers, and the audit-trail primitives (record envelopes, Merkle checkpoints, the transparency log) and key audiences. - [Changelog](https://docs.visiqlabs.com/changelog.md): Release notes for the @visiq/harness SDK — what changed in each version, with every breaking change and removal called out. Read this before upgrading. - [Support](https://docs.visiqlabs.com/support.md): How to reach the VisIQ team — email, the in-product dashboard, and where to file the details that get you a fast answer. - [Evaluate an agent action](https://docs.visiqlabs.com/api/evaluation/evaluate-an-agent-action.md): Evaluate a single agent action against your action-governance rules and return the enforced decision. This is the agent-facing hot path. - [Evaluate a retrieval](https://docs.visiqlabs.com/api/evaluation/evaluate-a-retrieval.md): Evaluate a retrieval, tool call, or prompt render against your retrieval-governance rules and return the enforced decision (with mask directives when the decision is `redact`). - [Evaluate a governed event (unified)](https://docs.visiqlabs.com/api/evaluation/evaluate-a-governed-event-unified.md): The single, operation-native evaluation endpoint. Declare which operations the event performs via `operations[]` and receive the union decision vocabulary. Hybrid events (e.g. `["retrieval","action"]`) are evaluated on both facets and combined fail-closed to the most restrictive outcome. A legacy `{… - [Enforce a delegated action](https://docs.visiqlabs.com/api/evaluation/enforce-a-delegated-action.md): A delegated (child) agent checks a single action against the scope of its signed grant token. A `deny` outcome is a governance result and is still returned with HTTP 200; the hand-off is recorded either way. - [List action rules](https://docs.visiqlabs.com/api/action-rules/list-action-rules.md): Paginated list of action-governance rules. Requires permission `allow_rules:view`. - [Create an action rule](https://docs.visiqlabs.com/api/action-rules/create-an-action-rule.md): Create an action-governance rule from Rego source. Requires permission `allow_rules:create`. - [Compile an action rule from natural language](https://docs.visiqlabs.com/api/action-rules/compile-an-action-rule-from-natural-language.md): Compile a plain-language policy request into Rego. Rate limited to 10 requests per minute per account. Set `?stream=true` (or send `Accept: text/event-stream`) for a streamed response. When no AI provider is configured this facet returns a pre-canned fallback (HTTP 200 with a `warning`), not an erro… - [Get an action rule](https://docs.visiqlabs.com/api/action-rules/get-an-action-rule.md): Fetch a single action rule including its Rego source. Requires permission `allow_rules:view`. - [Update an action rule](https://docs.visiqlabs.com/api/action-rules/update-an-action-rule.md): Partially update an action rule. At least one field is required. Requires permission `allow_rules:update`. - [Delete an action rule](https://docs.visiqlabs.com/api/action-rules/delete-an-action-rule.md): Delete an action rule. Requires permission `allow_rules:delete`. - [List retrieval rules](https://docs.visiqlabs.com/api/retrieval-rules/list-retrieval-rules.md): Paginated list of retrieval-governance rules. Requires permission `recall_rules:view`. - [Create a retrieval rule](https://docs.visiqlabs.com/api/retrieval-rules/create-a-retrieval-rule.md): Create a retrieval-governance rule from Rego source. Requires permission `recall_rules:create`. - [Compile a retrieval rule from natural language](https://docs.visiqlabs.com/api/retrieval-rules/compile-a-retrieval-rule-from-natural-language.md): Compile a plain-language retrieval-governance request into Rego. Rate limited to 10 requests per minute per account; SSE streaming supported. This facet is fail-closed: if no AI provider is configured it returns HTTP 503 (unlike action compilation, which returns a fallback). - [Get a retrieval rule](https://docs.visiqlabs.com/api/retrieval-rules/get-a-retrieval-rule.md): Fetch a single retrieval rule including its Rego source. Requires permission `recall_rules:view`. - [Update a retrieval rule](https://docs.visiqlabs.com/api/retrieval-rules/update-a-retrieval-rule.md): Partially update a retrieval rule. At least one field is required. Requires permission `recall_rules:update`. - [Delete a retrieval rule](https://docs.visiqlabs.com/api/retrieval-rules/delete-a-retrieval-rule.md): Delete a retrieval rule. Requires permission `recall_rules:delete`. - [Activate emergency bypass](https://docs.visiqlabs.com/api/retrieval-rules/activate-emergency-bypass.md): Temporarily deactivate a single retrieval rule (a time-boxed emergency bypass). The activation is written to the audit trail. Requires permission `recall_rules:bypass`. - [Deactivate emergency bypass](https://docs.visiqlabs.com/api/retrieval-rules/deactivate-emergency-bypass.md): Clear an active emergency bypass and re-enforce the rule. Requires permission `recall_rules:bypass`. - [List rules](https://docs.visiqlabs.com/api/unified-rules/list-rules.md): Paginated list of rules across both facets. Filter by facet with `?operations=action,retrieval`. Requires permission `allow_rules:view`. - [Create a rule](https://docs.visiqlabs.com/api/unified-rules/create-a-rule.md): Create a rule tagged with the operations it governs. `operations[]` is mapped to `applies_to`. Requires permission `allow_rules:create`. - [Get a rule](https://docs.visiqlabs.com/api/unified-rules/get-a-rule.md): Fetch a single rule including its Rego source. Requires permission `allow_rules:view`. - [Update a rule](https://docs.visiqlabs.com/api/unified-rules/update-a-rule.md): Partially update a rule. At least one field is required. Requires permission `allow_rules:update`. - [Delete a rule](https://docs.visiqlabs.com/api/unified-rules/delete-a-rule.md): Delete a rule. Requires permission `allow_rules:delete`. - [Get the action rule bundle](https://docs.visiqlabs.com/api/rule-bundles/get-the-action-rule-bundle.md): The compiled action-governance bundle for one agent, used by the SDK runtime. Responds with an `ETag`; send `If-None-Match` to get a `304`. A shutdown agent returns a fail-closed shutdown bundle. Requires permission `allow_rules:view`. - [Get the retrieval rule bundle](https://docs.visiqlabs.com/api/rule-bundles/get-the-retrieval-rule-bundle.md): The compiled retrieval-governance bundle for the SDK runtime. Responds with an `ETag`; send `If-None-Match` to get a `304`. Requires permission `recall_rules:view`. - [Get the unified rule bundle](https://docs.visiqlabs.com/api/rule-bundles/get-the-unified-rule-bundle.md): The single compiled bundle covering both facets for one agent, carrying the resolved agent attributes and dialect version. Responds with an `ETag`; send `If-None-Match` to get a `304`. Requires permission `allow_rules:view`. - [List agents](https://docs.visiqlabs.com/api/agents/list-agents.md): Paginated list of registered agents. Requires permission `allow_agents:view`. - [Create an agent](https://docs.visiqlabs.com/api/agents/create-an-agent.md): Register a new agent. The response includes a one-time plaintext `api_key` that is unrecoverable afterwards — store it securely. If you omit `api_key` in the request, one is generated. Requires permission `allow_agents:create`. - [Register agent environment](https://docs.visiqlabs.com/api/agents/register-agent-environment.md): The idempotent registration handshake an SDK/harness performs on startup: it provisions the agent if needed and records environment metadata (OS, hostname, IP, username). It returns only an acknowledgement — no API key. Requires scope `rules:evaluate` (or `allow:write`) and permission `allow_agents:… - [Get an agent](https://docs.visiqlabs.com/api/agents/get-an-agent.md): Fetch a single agent by its UUID. Requires permission `allow_agents:view`. - [Update an agent](https://docs.visiqlabs.com/api/agents/update-an-agent.md): Partially update an agent. Setting `mode` to `null` clears the per-agent override so it inherits the account default. At least one field is required. Requires permission `allow_agents:update`. - [Delete an agent](https://docs.visiqlabs.com/api/agents/delete-an-agent.md): Delete an agent. Requires permission `allow_agents:delete`. - [List the approval queue](https://docs.visiqlabs.com/api/human-in-the-loop/list-the-approval-queue.md): Paginated approval queue. Defaults to `pending` items (FIFO). Filter by `status` and `category`. Requires permission `allow_hitl:view`. - [Create an approval request](https://docs.visiqlabs.com/api/human-in-the-loop/create-an-approval-request.md): Directly enqueue an approval request. Requires permission `allow_hitl:respond`. - [Respond to an approval request](https://docs.visiqlabs.com/api/human-in-the-loop/respond-to-an-approval-request.md): Resolve a pending approval item. The accepted request body depends on the item's `category`: `enduser` items take `{ decision: "approved" | "rejected", responded_by }`; all other categories take `{ action: "dismiss" | "create_rule", responded_by, linked_rule_id? }` (`linked_rule_id` is required when… - [Get governance settings](https://docs.visiqlabs.com/api/settings/get-governance-settings.md): Fetch the account's governance defaults. Returns `200` if a row exists, or `201` when defaults are first initialized. Requires permission `allow_settings:view`. - [Update governance settings](https://docs.visiqlabs.com/api/settings/update-governance-settings.md): Partial update of the account's governance defaults. Only the supplied fields change; at least one is required. Requires permission `allow_settings:update`. - [Create a delegation grant](https://docs.visiqlabs.com/api/delegation/create-a-delegation-grant.md): A parent agent creates a scoped, time-boxed delegation to a child agent. The grant starts `pending` and must be accepted within the accept window. Requires scope `allow:write`. - [Get grant status](https://docs.visiqlabs.com/api/delegation/get-grant-status.md): Poll a grant's lifecycle status. Requires scope `allow:write` or `allow:read`. - [Accept a delegation grant](https://docs.visiqlabs.com/api/delegation/accept-a-delegation-grant.md): The child agent accepts a pending grant and receives a signed `grant_token` to present on subsequent delegated evaluations. The child identity must be supplied in the `X-Agent-ID` header. Requires scope `allow:write`. - [Revoke a delegation grant](https://docs.visiqlabs.com/api/delegation/revoke-a-delegation-grant.md): Revoke a grant and eagerly cascade the revocation to every descendant grant. Returns the number of grants revoked. Requires scope `allow:write`. - [Ingest a record envelope](https://docs.visiqlabs.com/api/records/ingest-a-record-envelope.md): Append a signed event (with optional artifacts and attestations) to the tamper-evident audit trail. `tenantId` must match the authenticated account. Requires permission `record_records:create` and scope `record:write`. - [Verify a record envelope](https://docs.visiqlabs.com/api/records/verify-a-record-envelope.md): Run the full cryptographic verification chain (leaf signature, Merkle inclusion, signed root, and RFC-3161 timestamp) for a record. Requires permission `record_records:view` and scope `record:read`. - [List records](https://docs.visiqlabs.com/api/records/list-records.md): Paginated, filterable list of records. Requires permission `record_records:view`. - [Get a record](https://docs.visiqlabs.com/api/records/get-a-record.md): Fetch a single record. Requires permission `record_records:view`. - [Finalize a record](https://docs.visiqlabs.com/api/records/finalize-a-record.md): Seal a record so no further events can be appended. Idempotent — a record that is already finalized is returned unchanged. Requires permission `record_records:finalize`. - [List record events](https://docs.visiqlabs.com/api/records/list-record-events.md): The ordered event log for a record. Requires permission `record_records:view`. - [List record artifacts](https://docs.visiqlabs.com/api/records/list-record-artifacts.md): The artifacts attached to a record. Requires permission `record_records:view`. - [List record attestations](https://docs.visiqlabs.com/api/records/list-record-attestations.md): The attestations attached to a record. Requires permission `record_records:view`. - [List transparency-log checkpoints](https://docs.visiqlabs.com/api/records/list-transparency-log-checkpoints.md): The tenant-neutral transparency-log checkpoint feed (signed Merkle roots and counts). Paginated by sequence cursor. Requires permission `record_records:view` and scope `record:read`. - [Get a checkpoint](https://docs.visiqlabs.com/api/records/get-a-checkpoint.md): Fetch a single checkpoint by its batch sequence. Requires permission `record_records:view` and scope `record:read`. - [Verify hash-chain consistency](https://docs.visiqlabs.com/api/records/verify-hash-chain-consistency.md): Return a consistency proof over the checkpoint hash-chain for a sequence range. An unverifiable result is reported as `verified: false` in a 200 body (fail-closed), not an error. Requires permission `record_records:view` and scope `record:read`. - [Query the action decision log](https://docs.visiqlabs.com/api/audit-log/query-the-action-decision-log.md): Paginated, filterable log of action-governance decisions. Requires permission `allow_audit_log:view` and scope `allow:read`. - [Get a single action decision](https://docs.visiqlabs.com/api/audit-log/get-a-single-action-decision.md): Fetch one action decision by ID, including the linked approval item when the decision was `approval_required`. Requires permission `allow_audit_log:view` and scope `rules:read` (or `allow:read`). - [Query the retrieval decision log](https://docs.visiqlabs.com/api/audit-log/query-the-retrieval-decision-log.md): Paginated, filterable log of retrieval-governance decisions. Requires permission `recall_audit_log:view` and scope `recall:read`. - [Query the record event log](https://docs.visiqlabs.com/api/audit-log/query-the-record-event-log.md): Paginated, filterable log of recorded events across all records. Requires permission `record_audit_log:view` and scope `record:read`. - [Query captured cognition sessions](https://docs.visiqlabs.com/api/cognition/query-captured-cognition-sessions.md): Paginated list of Agent Cortex cognition sessions (capture is default-OFF and server-gated per agent). Sorted by `last_event_at` descending. Sessions are identified by their natural `session_id` key. Requires permission `allow_cognition:view` and the dedicated scope `cognition:read` (never granted b… - [Query cognition beats (events)](https://docs.visiqlabs.com/api/cognition/query-cognition-beats-events.md): Paginated cognition beats. Under a `session_id` filter, beats are ordered `seq` ascending (the client-authoritative interleave order); otherwise `created_at` descending. `limit` above 200 is a 400, never a silent clamp. Stored content is floor-redacted; the encrypted raw is NEVER served here (reveal… ## OpenAPI Specs - [openapi](https://docs.visiqlabs.com/api-reference/openapi.yaml)