Dozer logoDozer
Get started
Dozer Docs
Reference

Authentication

Per-route authentication modes and required scopes.

How each /api/v1/** route authenticates. session = better-auth cookie, pat = Bearer pat_…, both = either, public = none.

PathMethodAuthScopeSummary
/api/v1/integrationsGETbothintegrations:readList project integrations
/api/v1/integrationsPOSTbothintegrations:writeConnect a provider credential
/api/v1/openapiGETpublic—OpenAPI document compiled from product operations
/api/v1/devices/countsGETsessiondataHow many devices a project holds, optionally grouped by a declared filter.
/api/v1/devices/schemaGETpublic—The published spec for the devices resource.
/api/v1/devices/provisionPOSTboth—Provision a device and return its credential once
/api/v1/[resource]/[...path]GETboth—Read a declared product operation
/api/v1/[resource]/[...path]POSTboth—Execute a declared product operation
/api/v1/[resource]/[...path]PATCHboth—Update a declared product resource
/api/v1/[resource]/[...path]DELETEboth—Delete a declared product resource
/api/v1/operationsGETpublic—Discover the product operation catalog and schemas
/api/v1/projects/[id]/setupGETboth—Read setup status
/api/v1/projects/[id]/setupPOSTboth—Start explicit AI setup
/api/v1/tasks/[id]/cancelPOSTboth—Cancel a task's active run (declared tasks.cancel)
/api/v1/github/app/installGETsession—Redirect to the GitHub App install page with a session-bound state.
/api/v1/github/app/installPOSTsession—Start a workspace GitHub installation.
/api/v1/github/connectionGETsession—Read a workspace's GitHub installations and connection outcome.
/api/v1/github/connectionPOSTsession—Check GitHub administrator approval for the requested account.
/api/v1/client-eventsPOSTpublic—Forward one browser error/telemetry event to Sentry server-side; returns the real ingest outcome.
/api/v1/scorecards/scan-attemptsGETsession—Newest scorecard scan attempt per scorecard for a project (task-level evidence a scan was tried, even when the run wrote nothing).
/api/v1/integrations/[id]/linksGETsession—Workspace projects with a linked flag for one credential (feeds the multi-project attach dropdown).
/api/v1/integrations/[id]/teamsGETsession—Teams a team-time connection's credential can read, each flagged selected (feeds the report team picker).
/api/v1/pull-requests/review-latencyGETsession—p50/p75 review duration for similar-sized PRs in this workspace over the last 24h (planner-degraded runs excluded and counted).
/api/v1/views/[viewId]/hover-actions/[actionId]/suggestPOSTboth—AI menu suggestions for a declared hover action group (server re-reads the declaration; named suggest_timeout/suggest_error failures, no fallback content).
/api/v1/public/review-statsGETpublic—Aggregate review precision (1 − false-positive rate over human-dispositioned findings, trailing 30 days) across all IonWarp projects, per reviewer lens; unpublished below a minimum-sample floor.
/api/v1/ionwarp/findings/precisionGETsessionprojectFalse-positive / precision cuts for the project's workspace and the fleet (trailing 30 days), optionally for one reviewer lens.
/api/v1/ionwarp/reviewer-examplesGETsession—List a reviewer's examples for a project (platform + workspace rows) with per-project enabled state, enabled-first, FTS5 search via q.
/api/v1/ionwarp/projects/[id]/knowledgeGETsession—Read a project's ionwarp.json — the planner-distilled repository facts, the custom context, and the rendered block every reviewer reads.
/api/v1/ionwarp/projects/[id]/knowledge/refreshPOSTsession—Start a refresh-only run that re-derives the project's ionwarp.json; 409 knowledge_refresh_in_flight while one is running.
/api/v1/ionwarp/reviewer-examples/togglePOSTsession—Switch one reviewer example on or off for this project (writes ionwarp.review.examples.disabled).
/api/v1/moab/agent-viewGETbothprojectThe ONE derived agent read model (readAgentView) for a project — fleet header, every agent row, and today's plan + ledger — behind the Agents table, Home, the day page and the agent header.
/api/v1/moab/channels/webhook/resendPOSTpublic—Resend delivery webhook (svix-signed): email.sent/delivered/bounced/complained → the outbox ladder.
/api/v1/moab/links/domainsGETboth—Tracking-domain registry rows + derived default (probes pending domains).
/api/v1/moab/links/domainsPOSTboth—Add, verify, or retire a tracking domain (append-only lifecycle).
/api/v1/billing/publishable-keyGETpublic—This Worker's Stripe publishable key (runtime binding; test on staging, live on production).
/api/v1/billing/reconcilePOSTsession—Project the current Stripe subscription state into workspace_billing (webhook-independent activation).
/api/v1/billing/add-seatsPOSTsession—Purchase additional seats (quantity; prorated on the Stripe subscription).
/api/v1/tasksGETsession—List tasks for a project (project_id query param).
/api/v1/tasksPOSTbothprojectCreate a task (optionally scheduled).
/api/v1/programs/[page_slug]/applyPOSTpublic—Apply to a declared discount program (delivers to its declared address).
/api/v1/projectsGETsession—List the authenticated user's projects.
/api/v1/projectsPOSTsession—Create a project.
/api/v1/projects/[id]/moab/plan-executePOSTbothprojectExecute a Moab plan now, with no model turn — the same server step the planner run's plan_execute tool calls: sends tagged agents' drafts inside the cap, judges experiments, archives, launches, spawns prospectors and writes the day's runs[] entry.
/api/v1/projects/[id]/checklists/[definitionId]/runPOSTbothprojectEvaluate a daily (Beast Mode) checklist now — starts one beast-mode-checklist run; the result still derives from its published day record.
/api/v1/projects/[id]/performanceGETbothprojectRead one metric as a day-by-day series (metric, by, from, to, top, mode, f.*) for the Performance chart — count metrics via the DataStore, cost/credits/tokens via the usage ledger.
/api/v1/projects/[id]/agents-mdGETbothprojectRead the Agents.md hand-off for a project: the IonWarp section, a patch per existing AGENTS.md/CLAUDE.md, whether the marker is present, and the coding-agent instruction.
/api/v1/projects/[id]/metricsGETbothprojectResolve the agent's metric registry for one owner (project or object) and window — the ONE read every metric tile and hover renders.
/api/v1/projects/[id]/pages/[pageId]/previewGETsessionprojectRender one Moab page (sandbox included) as HTML for the dashboard preview iframe — the same renderer the pages host serves.
/api/v1/projects/[id]/pages/[pageId]/preview-urlPOSTbothprojectMint a short-lived signed preview URL for one page row — the browser-loadable reload target of the page-lab build loop (sandbox run tokens accepted, same door as the data API).
/api/v1/projects/[id]/share-imagePOSTsession—Publish a project artifact as the public share-card background.
/api/v1/projects/[id]/share-imageDELETEsession—Unpublish a project share-card background.
/api/v1/dataGETbothdataList collections and views for a project.
/api/v1/dataPOSTbothdataDataStore ops (set/event/data_batch/view).
/api/v1/gamesGETbothdataDeclared mini-games + live pending counts for a project (the Play chip read).
/api/v1/games/[game_type]/deckGETbothdataThe ranked, type-diverse card deck, each item bundled with its referenced objects.
/api/v1/games/[game_type]/itemsPOSTbothdataEnqueue/update game items (the PAT twin of the game_queue_upsert MCP tool).
/api/v1/games/[game_type]/items/[item_id]/resolvePOSTbothdataResolve one card (like/nope/later) — dispatches the card's declared DashAction; a second resolve returns the stored outcome.
/api/v1/[resource]GETbothdataList a declared resource (cursor-paged).
/api/v1/[resource]POSTbothdataCreate one object.
/api/v1/[resource]/[id]GETbothdataFetch one object.
/api/v1/[resource]/[id]PATCHbothdataMerge-patch one object.
/api/v1/[resource]/[id]DELETEbothdataDelete one object.
/api/v1/[resource]/[id]/eventsGETbothdataAn object's timeline events.
/api/v1/[resource]/[id]/eventsPOSTbothdataAppend a timeline event.
/api/v1/[resource]/[id]/actionsGETbothdataActions available on one object.
/api/v1/[resource]/[id]/actionsPOSTbothdataRun one action on an object.
/api/v1/[resource]/[id]/imageGETbothdataServe an object's stored image.
/api/v1/[resource]/[id]/imagePOSTsessiondataUpload an object image.
/api/v1/[resource]/[id]/imageDELETEsessiondataRemove an object image.
/api/v1/[resource]/[id]/generate-default-imagePOSTsessiondataSchedule the default background/icon generation for one object.
/api/v1/[resource]/[id]/generate-imagePOSTsessiondataGenerate site art for one location (locations only).
/api/v1/[resource]/countsGETsessiondataHow many rows a resource holds, optionally grouped by a declared filter.
/api/v1/[resource]/schemaGETpublic—The published spec for one resource.
/api/v1/devices/[id]/summaryGETbothdataTelemetry/vision rollup for one device.
/api/v1/resourcesGETpublic—Every resource this agent serves.
/api/v1/workspaces/[id]/metricsGETsession—Resolve registry metrics at workspace scope — one count per key over the workspace's projects, with the daily trend.
/api/v1/workspaces/[id]/performanceGETsession—Read one metric as a day-by-day series across the workspace's projects for the Usage page and the workspace Performance explorer.
/api/v1/workspaces/[id]/schedulablesGETsession—List the workers/schedules behind a usage row (project_id, kind).
/api/v1/workspaces/[id]/schedulesGETsession—List all scheduled tasks/workers in a workspace with cadence, last run, and 7d spend.
/api/v1/workspaces/[id]/schedulesPATCHsession—Apply a preset to one schedule target: pause, resume, daily, weekly, or delete.
/api/v1/workspaces/[id]/schedules/runsGETsession—Recent runs and spawned child tasks (with costs) for one schedule target.
/api/v1/reportsGETsession—List a workspace's project reports with recent runs.
/api/v1/reportsPOSTsession—Create a project report (idempotent per project + skill).
/api/v1/reports/chartsGETpublic—A report run's chart image (PNG) — ?run=<rrun>&i=<n>&t=<token>; the per-run HMAC token is the authorization.
/api/v1/reports/runs/[run]GETsession—View a delivered report run in the browser — the same HTML the email carried.
/api/v1/reports/[id]GETsession—Report detail with its run history.
/api/v1/reports/[id]PATCHsession—Pause/resume/cadence preset, or launch a run-now report task.
/api/v1/reports/[id]DELETEsession—Delete the report and disable its schedule worker.
/api/v1/reports/unsubscribeGETpublic—Unsubscribe one recipient from a report (HMAC token).
/api/v1/reports/unsubscribePOSTpublic—RFC 8058 one-click unsubscribe (same token contract).
/api/v1/admin/ticketsGETsession—Admin: list user-reported IonWarp tickets with GitHub and review context.
/api/v1/admin/tickets/[id]PATCHsession—Admin: resolve or reopen a user-reported IonWarp ticket.
/api/v1/admin/task-run-hubs/purgePOSTsession—Admin: purge TaskRunHub Durable Objects by id (storage reaper).
/api/v1/admin/provider-routingGETsession—Admin: read or check the provider-routing cache rows.
/api/v1/admin/provider-routingPOSTsession—Admin: force one provider-routing refresh for a model and preset.
/api/v1/ionwarp/admin/recheck-open-prsPOSTsession—Admin: re-check open findings on open PRs at their current head.
/api/v1/admin/runs/[runId]/harness-logsGETsession—Admin: list a run's unexpired model-session harness logs.
/api/v1/admin/runs/[runId]/harness-logs/[...key]GETsession—Admin: stream one session's harness log (410 once expired).
/api/v1/admin/benchmarks/blobs/[sha]GETboth—Admin: read one benchmark blob's bytes (?verify=1 re-hashes server-side).
/api/v1/admin/benchmarks/blobs/[sha]PUTboth—Admin: store one benchmark blob by the sha256 of its raw bytes.
/api/v1/admin/benchmarks/rowsPOSTboth—Admin: write one atomic batch of benchmark rows ({batch, op_id}).
/api/v1/admin/benchmarks/rows/[table]GETboth—Admin: read benchmark rows by an index-prefix filter (≤ 500, cursor).
/api/v1/admin/workspaces/[id]/budgets/[meter]GETsession—Admin: read a workspace's effective cap and persisted override.
/api/v1/admin/workspaces/[id]/budgets/[meter]PUTsession—Admin: set a workspace's spend cap override (credits meter).
/api/v1/admin/workspaces/[id]/budgets/[meter]DELETEsession—Admin: remove the override; the plan allowance becomes the cap.
/api/v1/catalogGETpublic—List this agent's LIVE public-catalog cards (agents & GTM packs); employees may also request pending_approval.
/api/v1/catalog/[slug]GETpublic—One catalog entry's full anonymized manifest — live only; pending entries exist solely for dash-platform employees.
/api/v1/catalog/[slug]/statusPOSTsession—Employee-only status flip (pending_approval→live|revoked, revoked→live) — THE one approval path; publish can only ever create pending entries.

On this page

No Headings
Dozer logoDozer

Ready to build? Connect an agent and go — no credit card needed to start.

Get startedSee our plans