# Claros ## Docs - [Introduction](/index): Your team's unwritten rules, each with a named owner, checked when people and their agents act. - [How Claros works](/how-it-works): Connect your tools and documents, owners confirm the rules, people and agents are checked at the moment of action, answers become precedents. - [Quickstart](/quickstart): Your first rule and your first stop in five minutes, from a written policy or one sentence. - [Quickstart for agents](/quickstart-agents): Read the rules over MCP today. Guard every write, from MCP or Playwright or browser-use agents, with one command: npx getclaros. - [Claros for Mac (preview)](/mac): A notch app that checks a person's Send, Submit and Approve moments against the team's rules, with nothing recorded. - [Connectors and mined rules](/connectors): Connect Slack, GitHub, Google Drive, Notion and Linear (or import their exports). Claros reads the decisions in them and drafts candidate rules, each with an owner, for that owner to confirm. - [Rules & scope](/concepts/rules-and-scope): What a rule is, what happens when it's broken, and what it governs. - [Rule sets](/concepts/rule-sets): A team's rules for one kind of work, the set people and agents are checked against. - [From documents](/concepts/maps-from-policies): Turn a written policy, SOP or runbook into a draft rule set. Nothing is enforced until its owner confirms it. - [By voice](/concepts/by-voice): Record rules by voice over your own screen. Claros asks why at the pauses, reads the rules back, and you confirm them. - [Rule versions and watch mode](/concepts/rule-versions): Every rule change is a version you can trace. The owner's answers propose new rules, which run in watch before they're enforced. - [Overrides and suggested changes](/concepts/overrides): When a stop or a nudge was wrong, say why. Enough consistent reports become a suggested change, and the rule's owner confirms every change. - [Asks & answers](/concepts/approvals): An ask goes to the rule's owner. Their answer is an approval record bound to the exact action, and a precedent on the rule. - [Owners: away, gone, and the weekly check](/concepts/owners): Asks reach a stand-in while an owner is away; rules whose owner left are flagged; once a week each owner says whether their rules are still true. - [When owners disagree](/concepts/multi-expert): Several sources, one rule set, no silent picks. - [The judge](/concepts/judge): Fuzzy rules are judged on the server, not handed back to the agent being checked. - [Routing across maps](/concepts/routing): Which team's rules govern this action? Claros picks, without a workflow id. - [Check log & audit evidence](/concepts/check-log): Every check, with who acted, the record, the rules hit and the result. - [Fixes after the fact](/concepts/remediation): A rule that flags an action after it happened becomes a tracked fix: who undoes what, by when, and whether it was done. - [Evaluation](/evaluation): What we measured, how, and what it doesn't show. - [Evidence](/concepts/evidence): Every check, approval, override, outcome and rule version in one hash chain with signed checkpoints, and the exports auditors and insurers read. - [Walkthrough evidence (SOX)](/concepts/walkthrough-evidence): Export a control walkthrough workpaper from a rule set. - [MCP guard](/guard/mcp-guard): A local proxy in front of an app's MCP server. Every write is checked before the app sees it. - [Stop, ask, nudge](/guard/stops): What the agent receives when Claros stops an action, asks it to check with someone first, or nudges it. - [Read vs write tools](/guard/read-write): Reads pass straight through. Writes are checked. - [Tool mapping & review](/guard/tool-mapping): Turn a tool's arguments into the map's facts, once per tool. Claros proposes, an editor confirms. - [Record resolution](/guard/record-resolution): Check what the app would save, not just what the agent sent. - [Failure modes & fail-closed](/guard/failure-modes): What happens when Claros is slow, down, unsure, or has no rule for the action. - [Playwright](/guard/browser/playwright): One line. Consequential clicks and submits are held, checked, and dropped if they break a rule. - [browser-use](/guard/browser/browser-use): Guard a browser-use agent's tools. A stop comes back as the action's error, with the rule and who to ask. - [Screen fallback](/guard/browser/screen-fallback): When the page has no readable fields, Claros reads the screenshot. - [Browser limits](/guard/browser/limits): What the browser hook doesn't catch yet. - [MCP server for reading maps](/guard/mcp-server): Agents read the rule set up front and check an action themselves. Available in the preview. - [Use Claros from a coding agent](/guard/coding-agents): Claude Code, Codex or Cursor: every shell command and file edit checked against your team's rules by a native hook, and the rules readable over MCP. - [Hard gates](/guard/gates): Where an action must never happen, the gate is where it executes: a GitHub required check, or any system that can ask Claros before it acts. - [Pomerado + Claros](/guard/pomerado): Pomerado turns websites without an API into MCP tools. Claros checks each action those tools take against your team's rules. - [Export rules as markdown](/guard/export): A rule set's rules as an AGENTS.md section, a DESIGN.md-style file or an Agent Skill, next to the rules files your tools already read. - [Sign-in](/accounts/sign-in): Sign in to the web app with WorkOS AuthKit: an email code, Google or Microsoft. - [Workspaces & roles](/accounts/workspaces): Everything Claros knows about your team lives in one workspace. - [Agent keys](/accounts/agent-keys): An agent-scope key lets an agent or guard check actions against one workspace's maps. - [Device sign-in](/accounts/device-sign-in): How the CLI gets a key: approve a code in the browser (RFC 8628). - [Access control](/security/access-control): Accounts, scoped API keys, short-lived browser tokens and rate limits. - [Workspace isolation](/security/workspace-isolation): A key from one workspace can't read or check another's maps, logs or tools. - [Key storage](/security/key-storage): Where keys live on the server and on your machine. - [Data sent to models](/security/model-data): What each part of Claros sends to a language model, and what it doesn't. - [Data flow](/security/data-flow): What leaves your agents, your Mac and your tools, in what form, and where it goes. - [PII redaction](/security/pii-redaction): Blurred before any model sees the frame. What we measured, and what it missed. - [Off the record](/security/off-record): Pause anytime. Take back the last 30 seconds. - [Subprocessors](/security/subprocessors): Every outside service the Claros code calls, and what it receives. - [Data retention](/security/data-retention): What is kept, and for how long, as implemented today. - [Changelog](/changelog): What changed in Claros. - [Roadmap](/roadmap): What works today, and where Claros is going. - [API overview](/api-reference/introduction): The Claros server API, generated from the FastAPI app. - [Mint a browser session token](/api-reference/system/mint-a-browser-session-token): Server-side (Next.js) mints a ~1h capture token for one browser. Key-only: the guard rejects tokens here. - [Try a rule (landing page)](/api-reference/system/try-a-rule-landing-page) - [Health](/api-reference/system/health): Public (Render health check, the web app's 'is the server up'): nothing about config or traffic. - [Health details (admin)](/api-reference/system/health-details-admin): Which env vars / LLM keys are set, package load status, recent LLM calls. Unlisted path → `admin` scope. - [Early access (landing page)](/api-reference/system/early-access-landing-page): Early access from the landing page. Public; per-IP limit even with auth off. Stores the email and when it was first given (kv ns `waitlist`, keyed by the email, so a repeat changes nothing); logs no address. - [Who am I (key or token)](/api-reference/accounts/who-am-i-key-or-token): `getclaros status`: the key's workspace (id + name), its prefix and scopes. Never the key. - [Mint a Claros for Mac key](/api-reference/accounts/mint-a-claros-for-mac-key): Claros for Mac at sign-in: its own key, minted with the person's key (one a member made: web app or device sign-in): same person, workspace and scopes (agent / capture), kind "mac". Only a Mac key may answer that person's questions about their own commits (knowledge/approvals.decider), so an agent holding the person's other keys can't approve asks. → {key} once; never stored raw. - [Mint an agent key from the Mac key (Enroll agents)](/api-reference/accounts/mint-an-agent-key-from-the-mac-key-enroll-agents): Claros for Mac's "Enroll agents": an agent key for getclaros setup, minted with the Mac's own key (kind mac only): same person and workspace, scope agent, not kind mac. The agents get this one, never the Mac key, so they can't answer their own asks. → {key} once; never stored raw. - [Start sign-in (redirect to WorkOS AuthKit)](/api-reference/accounts/start-sign-in-redirect-to-workos-authkit): Starts hosted AuthKit. Also the dashboard's "Initiate login URI" (invitation links land here). - [Finish sign-in (WorkOS redirect)](/api-reference/accounts/finish-sign-in-workos-redirect) - [Current user and workspaces](/api-reference/accounts/current-user-and-workspaces) - [Sign out](/api-reference/accounts/sign-out): Ends our app session now; the answer's logout_url ends the WorkOS session too (the browser goes there). - [Mint a capture token for the session](/api-reference/accounts/mint-a-capture-token-for-the-session): A ~1h capture token (clt_) for the signed-in user's current workspace, for the web app's calls to the API. GET without CSRF: it changes nothing server-side (a signed token), and only same-origin pages can read it. - [Create a workspace](/api-reference/accounts/create-a-workspace) - [Switch workspace](/api-reference/accounts/switch-workspace) - [List members and invites](/api-reference/accounts/list-members-and-invites) - [Invite by email](/api-reference/accounts/invite-by-email) - [Cancel an invite](/api-reference/accounts/cancel-an-invite) - [Change a role](/api-reference/accounts/change-a-role) - [Remove a member](/api-reference/accounts/remove-a-member): Admins remove anyone; anyone can leave. The last admin can't go. Their web sessions lose the workspace (session tokens check membership); keys they made stay with the workspace. - [List agent keys](/api-reference/accounts/list-agent-keys) - [Create an agent key](/api-reference/accounts/create-an-agent-key): An `agent` key for this workspace, made by (and listed for) the caller. The raw key is in this answer only. - [Revoke an agent key](/api-reference/accounts/revoke-an-agent-key) - [Start device sign-in](/api-reference/accounts/start-device-sign-in) - [Poll for the device key](/api-reference/accounts/poll-for-the-device-key) - [Look up a device code (web session)](/api-reference/accounts/look-up-a-device-code-web-session) - [Approve or deny a device (web session)](/api-reference/accounts/approve-or-deny-a-device-web-session) - [Usage (platform admins)](/api-reference/accounts/usage-platform-admins) - [Custom LLM (relay)](/api-reference/voice/custom-llm-relay) - [Dialog variables](/api-reference/voice/dialog-variables) - [Look up the rule set](/api-reference/voice/look-up-the-rule-set) - [Conversation token](/api-reference/voice/conversation-token) - [Signed URL](/api-reference/voice/signed-url) - [Open questions (ledger)](/api-reference/voice-sessions-optional/open-questions-ledger) - [Pause gate state](/api-reference/voice-sessions-optional/pause-gate-state) - [Upload a voice clip](/api-reference/voice-sessions-optional/upload-a-voice-clip) - [Get a voice clip](/api-reference/voice-sessions-optional/get-a-voice-clip) - [Publish the rule set](/api-reference/voice-sessions-optional/publish-the-rule-set): The debrief's Publish button: the expert confirms the map (same as saying "yes, that's how it works"). - [Create a session](/api-reference/voice-sessions-optional/create-a-session) - [Get a session](/api-reference/voice-sessions-optional/get-a-session) - [End a session](/api-reference/voice-sessions-optional/end-a-session) - [Read the session log](/api-reference/voice-sessions-optional/read-the-session-log) - [Get a redacted keyframe](/api-reference/voice-sessions-optional/get-a-redacted-keyframe): Serves REDACTED keyframes only (perception writes them; raw frames never hit disk). - [Report a wrong check](/api-reference/overrides/report-a-wrong-check): A person or agent says a check got a rule wrong (or right, or missed one), and why. Nothing changes in the map: enough consistent reports become a suggested change the rule's expert confirms or dismisses. - [Per-rule counters](/api-reference/overrides/per-rule-counters): Per rule (learn.counters): served (evaluated), fired (broken), decisive (set the check's verdict), watched (would have fired while in watch), overridden, confirmed right, missed; last_fired / last_watched (epoch s); the rule's current version id. A rule that's served and never fires is a candidate to retire. - [List suggested changes](/api-reference/overrides/list-suggested-changes): Suggested changes, newest first, each with the overrides behind it (reason, who, which agent / tool, when). - [Confirm a suggested change](/api-reference/overrides/confirm-a-suggested-change): The rule's expert confirms a suggested change (optionally in their own words): a new map version with that one change, recorded with who confirmed it and why. The next check uses it. - [Dismiss a suggested change](/api-reference/overrides/dismiss-a-suggested-change) - [List map versions](/api-reference/overrides/list-map-versions): Every stored version, newest first; `change` = what made it, when Claros logged that (confirm, revert, edit). - [Revert to a version](/api-reference/overrides/revert-to-a-version): Back to version N's rules, as a new version (nothing is deleted; reverting a revert works the same way). - [Check a browser action (page record)](/api-reference/gateway/check-a-browser-action-page-record): A browser agent is about to commit (submit / save / send / pay / approve / delete …): check the record the page shows. allowed=false → the hook keeps the click from reaching the app. - [Check a browser action (screenshot)](/api-reference/gateway/check-a-browser-action-screenshot): The DOM was unusable (canvas app, cross-origin iframe): read the record off a screenshot, then check it. 422 when nothing could be read (the hook then fails closed). - [Check an action](/api-reference/gateway/check-an-action): Check an action before it happens. allowed=false → do not proceed; violations carry the rule, the expert's words, who to ask, what to do next and the response (`action`): stop and ask block (allowed=false; ask = check with who_to_ask first); a nudge allows (allowed=true) and carries a suggested fix when there is one. `result` = allowed | nudge | ask | stop, the strongest. No matching map → allowed with workflow_id null, reason "no map". `need` in the answer → read those records from the app and ask again with `fetched`. - [A record that breaks a rule (for getclaros test)](/api-reference/gateway/a-record-that-breaks-a-rule-for-getclaros-test): `getclaros test`: records to POST to /v1/check to show real answers. Prefers a map of one of `app` (the user's guarded MCP servers): one record that breaks a precise stop rule. Otherwise demo: the starter pack (seeded into an empty workspace the first time, starter.py; `starter=false` skips it: the web's test uses the workspace's own maps) gives a stop and a nudge (a coding agent's edit the judge nudges), else the newest map's stop. The top-level fields are the stop (getclaros ≤ 0.1.1 reads only those); `examples` has every record, stop first. - [List questions](/api-reference/asks/list-questions): The questions the caller can decide, newest first: routed to them (or their rule), or, for a workspace admin, the ones no member owns. Keys see all of them. - [Answer a question](/api-reference/asks/answer-a-question): The rule's owner, a delegate or a workspace admin answers. 403 for anyone else; 409 once it's decided. Enough answers the same way on one kind of action then propose a refined rule (learn.from_precedents). - [Rule versions proposed from answers](/api-reference/asks/rule-versions-proposed-from-answers): The owner's queue next to the questions: rule refinements drafted from their answers (learn.from_precedents; confirm / dismiss through /api/maps/{id}/candidates/{cid}/…), and the rules they answered both ways on. Workspace admins (and keys) see all of them; a rule's owner sees their rules'; other members see none. - [Wait for the decision on a check](/api-reference/asks/wait-for-the-decision-on-a-check): The answer to an ask: status open | approve | deny | timeout. wait = hold up to that many seconds (≤ 30) for it. proceed is true only for an approval, and when payload_sha256 is sent, only if it is the approved action's. - [Webhook settings](/api-reference/asks/webhook-settings): Whether new questions are posted to a webhook, its host (never the URL: a Slack webhook URL is a secret) and how the last delivery went ({ok, status | error, at} or null). - [Set the webhook](/api-reference/asks/set-the-webhook) - [Send a test webhook](/api-reference/asks/send-a-test-webhook): Send a test message to the saved webhook now (same guard as every question) → the delivery's outcome. - [Open a signed one-tap decide link](/api-reference/asks/open-a-signed-one-tap-decide-link): The decide page. Never decides: a mail scanner opening the link changes nothing. - [Answer by signed one-tap link](/api-reference/asks/answer-by-signed-one-tap-link): Decide as the link's person, with the authority they have now. - [Where asks reach me](/api-reference/asks/where-asks-reach-me): Where asks reach the caller: their choice (null = the default), the channel in effect, what's available. - [Choose where asks reach me](/api-reference/asks/choose-where-asks-reach-me) - [Escalation settings](/api-reference/asks/escalation-settings) - [Set escalation](/api-reference/asks/set-escalation) - [What Claros learned, by week](/api-reference/asks/what-claros-learned-by-week): What Claros learned, week by week (newest first): `decisions` = owner answers (precedents) + reports (overrides), `refined` = rule versions made from them, `asks_avoided` = checks answered from a past answer to the same action, `override_rate` = wrong stops + misses per 100 checks (null with no checks). `this_week` adds up the newest window; `repeat_ttl_hours` = how long an answer to an exact action stands (null = until the rule changes). - [How long an answer stands](/api-reference/asks/how-long-an-answer-stands): Workspace admins: how long an answer to an exact action stands. - [Report an outcome by the agent's call id](/api-reference/agents/report-an-outcome-by-the-agents-call-id): After a write ran: the agent's own call id finds the check made for it (same caller); none = it ran unchecked. - [Report an outcome](/api-reference/agents/report-an-outcome): Did the checked action run, and with what result. Once per check, by the caller that made it. - [My timeline](/api-reference/agents/my-timeline): The signed-in person's own checks and their agents' (same rules), newest first, with per-agent counts. - [A person's timeline](/api-reference/agents/a-persons-timeline) - [Heartbeat](/api-reference/agents/heartbeat) - [My agents and their recent stops and asks](/api-reference/agents/my-agents-and-their-recent-stops-and-asks) - [Team fleet](/api-reference/agents/team-fleet) - [My preferences](/api-reference/agents/my-preferences) - [Set my preferences](/api-reference/agents/set-my-preferences) - [A correction to an agent (opt-in)](/api-reference/agents/a-correction-to-an-agent-opt-in): One correction from a person's agent hook → a personal suggestion, a precedent, or nothing (not a correction, or the person hasn't opted in: then nothing is stored). - [A kept example image](/api-reference/agents/a-kept-example-image): A kept example image: only to the person who sent it. - [Read the ledger](/api-reference/evidence/read-the-ledger): Entries after `since` in seq order. `payload` (the covered row now) only for a workspace admin: rows are the check log itself. With payloads, verify also catches an edited or deleted row; without, the chain and signatures. - [Signing public keys](/api-reference/evidence/signing-public-keys) - [Signed checkpoints](/api-reference/evidence/signed-checkpoints) - [Sign a checkpoint now](/api-reference/evidence/sign-a-checkpoint-now) - [Verify the chain](/api-reference/evidence/verify-the-chain) - [Retention](/api-reference/evidence/retention) - [Set retention](/api-reference/evidence/set-retention): How long checks, approvals, overrides and outcomes are kept: at least 183 days (EU AI Act Art 26(6) asks deployers for six months); null = forever. Rule versions are never deleted. - [Prune past retention](/api-reference/evidence/prune-past-retention) - [JSON-lines stream (SIEM)](/api-reference/evidence/json-lines-stream-siem): JSON lines (application/x-ndjson), one per ledger entry after `since`: the row it covers as `event`, plus seq / hash so a SIEM can resume (`x-claros-next`) and anyone can re-check the chain. - [Oversight report](/api-reference/evidence/oversight-report) - [AIUC-1 evidence pack](/api-reference/evidence/aiuc-1-evidence-pack) - [Signed report (monthly or weekly)](/api-reference/evidence/signed-report-monthly-or-weekly) - [This week](/api-reference/evidence/this-week) - [List checks](/api-reference/check-log/list-checks): The check log, newest first. result: allowed | stop | ask | nudge (warn = nudge); actor: agent (MCP / API) | browser | person. Each row's rules[] carry the response each broken rule got (`action`), its owner and its fix; overrides[] = the reports filed against it (POST /v1/checks/{id}/override); question = an ask's question to the owner and, once answered, its approval record (approvals.py). - [Export checks as CSV](/api-reference/check-log/export-checks-as-csv): The check log as audit evidence: one row per check and map, the rules hit as they read at check time, the judge's reasons, and the record the check saw (as stored: PII-redacted unless the workspace is in CLAROS_CHECK_LOG_RAW). Same filters as /v1/checks; up to 10,000 rows, newest first. - [Fast checks (compiled rules)](/api-reference/rules/fast-checks-compiled-rules): The fast checks of the rules that apply to the key's person: what Claros for Mac runs on device while a person drafts, and what the guard may run before asking. ETag; If-None-Match with the same tag → 304. - [Draft a map from a policy](/api-reference/rules/draft-a-map-from-a-policy) - [Approve a map](/api-reference/rules/approve-a-map): The expert read the draft and approves it: the same confirm as the debrief's Publish. Rules not approved before (the drafted ones) start in watch: judged and counted ("would have fired"), never enforced, until the expert sets their response; `enforce: true` enforces them now. Rules already approved keep their response. - [Edit a rule](/api-reference/rules/edit-a-rule): The expert rewords a rule, changes what happens when it is broken (stop / ask / nudge / hold: from then on an explicit response, so a taste rule set to stop stops), who to ask, taste or compliance, prevents or detects, or the suggested fix. The source sentence and the predicate stay (a reworded precise rule keeps its check; remove it and capture again to change that). - [Remove a rule](/api-reference/rules/remove-a-rule): The expert removes (retires) a rule: a drafted rule the document doesn't mean, or a stale one. Its versions stay (rules.py): the last is closed with no successor, and checks that ran under it still name it. - [Delete a rule set](/api-reference/rules/delete-a-rule-set): An editor deletes a whole map (every version; e.g. a starter map). Its check log stays: it is evidence. - [Remove the demo rules](/api-reference/rules/remove-the-demo-rules): Remove the demo rules (the starter maps `getclaros test` seeded). Never re-seeded after; the check log stays. - [Set a rule's scope](/api-reference/rules/set-a-rules-scope): The expert sets what a rule governs (all four lists empty = unknown: judged on every call its map reaches). - [A rule's versions](/api-reference/rules/a-rules-versions): Why did this rule change: each version with its source, who confirmed it, the note, and the precedents (owner answers) or overrides (reports) it came from. - [Add a rule](/api-reference/rules/add-a-rule) - [Proposed team rules](/api-reference/rules/proposed-team-rules) - [Confirm a proposed rule](/api-reference/rules/confirm-a-proposed-rule): An editor confirms a member's proposed team rule: it leaves watch with the response asked for (or theirs). - [Try a sample action](/api-reference/rules/try-a-sample-action) - [Edit an added rule](/api-reference/rules/edit-an-added-rule) - [Retire an added rule](/api-reference/rules/retire-an-added-rule) - [List registered tools](/api-reference/tools/list-registered-tools): Registered tools for the expert's review, newest first; `current` = the schema the guard sees now. - [Register tools](/api-reference/tools/register-tools): The guard registers the tools it saw in tools/list. Deduped by (app, tool, input schema hash); a new write tool, or one without a readOnlyHint, gets a proposal (read/write + mapping) in the background (a check before it lands falls back to routing v0). A tool whose schema, annotations or description changed since the last registration (def_hash) loses its expert's answer: its kind is taken from the new definition again, its mapping (still valid against the new schema) is kept as a proposal for the expert to re-confirm, and the change is recorded in the record's `changes` (shown in the review) and the server log. - [Read or write, per tool](/api-reference/tools/read-or-write-per-tool): For the guard (agent scope): read | write per current tool, so it stops guessing from the name. A read guessed from the name only (export_report …) while the mapper hasn't looked at it yet is "write" until it has: the guard checks its calls meanwhile instead of passing them. - [Confirm, edit or classify a mapping](/api-reference/tools/confirm-edit-or-classify-a-mapping): confirm the proposal as is, edit (replace it; validated strictly, nothing silently dropped), none (the tool writes but touches no workflow: its calls are allowed without routing), or read (it only reads: the guard passes it unchecked). Every action settles the tool's kind as the expert's call. - [Suggested rules to review](/api-reference/connectors/suggested-rules-to-review) - [Would have fired (recent checks)](/api-reference/connectors/would-have-fired-recent-checks) - [Confirm a suggested rule](/api-reference/connectors/confirm-a-suggested-rule): The owner confirms: a rule in watch in "Team rules", owned by the candidate's owner. A rule already in a map that says something close must be decided first: which one wins when both fire (stored as precedence). - [Edit a suggested rule](/api-reference/connectors/edit-a-suggested-rule) - [Reassign its owner](/api-reference/connectors/reassign-its-owner): Someone else decided this (or should own it): they confirm it from their own review. - [Reject a suggested rule](/api-reference/connectors/reject-a-suggested-rule) - [List connectors](/api-reference/connectors/list-connectors) - [Connect a source (token)](/api-reference/connectors/connect-a-source-token): Save a token: validated with one cheap call first (a refused token is never stored), then the first sync runs in the background. - [Disconnect](/api-reference/connectors/disconnect): Forget the connector: its token and the items not mined yet. Candidates already drafted keep their sources. - [Sync now](/api-reference/connectors/sync-now) - [Import an export](/api-reference/connectors/import-an-export): An export, no account needed: parsed into decision items (with their permissions), stored, and the first batch mined before this returns. - [Start OAuth](/api-reference/connectors/start-oauth) - [Finish OAuth (provider redirect)](/api-reference/connectors/finish-oauth-provider-redirect): The provider sends the browser back here: the signed state names the workspace and expires in 10 minutes. - [List workflows](/api-reference/rule-sets/list-workflows): Latest version of each workflow, most recently updated first (updated_at = epoch ms). draft: from a document, not approved yet (not enforced). - [Get a rule set](/api-reference/rule-sets/get-a-rule-set) - [Get coverage](/api-reference/rule-sets/get-coverage) - [Export as SKILL.md](/api-reference/rule-sets/export-as-skillmd) - [Export rules as markdown](/api-reference/rule-sets/export-rules-as-markdown) - [Control walkthrough record](/api-reference/rule-sets/control-walkthrough-record) - [Walkthrough diff between versions](/api-reference/rule-sets/walkthrough-diff-between-versions) - [List documents](/api-reference/company-context/list-documents) - [Upload a document](/api-reference/company-context/upload-a-document) - [Search documents](/api-reference/company-context/search-documents) - [Delete a document](/api-reference/company-context/delete-a-document) - [Match an occupation task](/api-reference/context/match-an-occupation-task) - [Occupation profile](/api-reference/context/occupation-profile) - [Web search](/api-reference/context/web-search) - [Read a web page](/api-reference/context/read-a-web-page) - [Find app docs](/api-reference/context/find-app-docs) - [Classify knowledge scope](/api-reference/context/classify-knowledge-scope)