IonWarp logoIonWarp
Get started
IonWarp 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/ionwarp/findings/actionPOSTsessionDisposition one review finding to the ledger's own terminal status (resolved | wontfix).
/api/v1/client-eventsPOSTpublicForward one browser error/telemetry event to Sentry server-side; returns the real ingest outcome.
/api/v1/scorecards/scan-attemptsGETsessionNewest 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]/linksGETsessionWorkspace projects with a linked flag for one credential (feeds the multi-project attach dropdown).
/api/v1/pull-requests/review-latencyGETsessionp50/p75 review duration for similar-sized PRs in this workspace over the last 24h (planner-degraded runs excluded and counted).
/api/v1/pull-requests/reviewer-historyGETsessionPer-reviewer delivered run count and last-ran time over this project's completed reviews in the last 30 days.
/api/v1/views/[viewId]/hover-actions/[actionId]/suggestPOSTbothAI 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-statsGETpublicAggregate review resolution rate (resolved / dispositioned findings) across all IonWarp projects; unpublished below a minimum-sample floor.
/api/v1/moab/channels/webhook/resendPOSTpublicResend delivery webhook (svix-signed): email.sent/delivered/bounced/complained → the outbox ladder.
/api/v1/moab/links/domainsGETbothTracking-domain registry rows + derived default (probes pending domains).
/api/v1/moab/links/domainsPOSTbothAdd, verify, or retire a tracking domain (append-only lifecycle).
/api/v1/billing/reconcilePOSTsessionProject the current Stripe subscription state into workspace_billing (webhook-independent activation).
/api/v1/billing/add-seatsPOSTsessionPurchase additional seats (quantity; prorated on the Stripe subscription).
/api/v1/tasksGETsessionList tasks for a project (project_id query param).
/api/v1/tasksPOSTbothprojectCreate a task (optionally scheduled).
/api/v1/programs/[page_slug]/applyPOSTpublicApply to a declared discount program (delivers to its declared address).
/api/v1/projectsGETsessionList the authenticated user's projects.
/api/v1/projectsPOSTsessionCreate a project.
/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]/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-imagePOSTsessionPublish a project artifact as the public share-card background.
/api/v1/projects/[id]/share-imageDELETEsessionUnpublish 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]/schemaGETpublicThe published spec for one resource.
/api/v1/devices/[id]/summaryGETbothdataTelemetry/vision rollup for one device.
/api/v1/resourcesGETpublicEvery resource this agent serves.
/api/v1/workspaces/[id]/performanceGETsessionRead 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]/schedulablesGETsessionList the workers/schedules behind a usage row (project_id, kind).
/api/v1/workspaces/[id]/schedulesGETsessionList all scheduled tasks/workers in a workspace with cadence, last run, and 7d spend.
/api/v1/workspaces/[id]/schedulesPATCHsessionApply a preset to one schedule target: pause, resume, daily, weekly, or delete.
/api/v1/workspaces/[id]/schedules/runsGETsessionRecent runs and spawned child tasks (with costs) for one schedule target.
/api/v1/reportsGETsessionList a workspace's project reports with recent runs.
/api/v1/reportsPOSTsessionCreate a project report (idempotent per project + skill).
/api/v1/reports/[id]GETsessionReport detail with its run history.
/api/v1/reports/[id]PATCHsessionPause/resume/cadence preset, or launch a run-now report task.
/api/v1/reports/[id]DELETEsessionDelete the report and disable its schedule worker.
/api/v1/reports/actions/[code]/runPOSTsessionRun a report action code: launches the self-contained task in its project.
/api/v1/reports/unsubscribeGETpublicUnsubscribe one recipient from a report (HMAC token).
/api/v1/reports/unsubscribePOSTpublicRFC 8058 one-click unsubscribe (same token contract).
/api/v1/admin/ticketsGETsessionAdmin: list user-reported IonWarp tickets with GitHub and review context.
/api/v1/admin/tickets/[id]PATCHsessionAdmin: resolve or reopen a user-reported IonWarp ticket.
/api/v1/admin/task-run-hubs/purgePOSTsessionAdmin: purge TaskRunHub Durable Objects by id (storage reaper).
/api/v1/admin/workspaces/[id]/budgets/[meter]GETsessionAdmin: read a workspace's effective cap and persisted override.
/api/v1/admin/workspaces/[id]/budgets/[meter]PUTsessionAdmin: set a workspace's spend cap override (credits meter).
/api/v1/admin/workspaces/[id]/budgets/[meter]DELETEsessionAdmin: remove the override; the plan allowance becomes the cap.
/api/v1/catalogGETpublicList this agent's LIVE public-catalog cards (agents & GTM packs); employees may also request pending_approval.
/api/v1/catalog/[slug]GETpublicOne catalog entry's full anonymized manifest — live only; pending entries exist solely for dash-platform employees.
/api/v1/catalog/[slug]/statusPOSTsessionEmployee-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
IonWarp logoIonWarp

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

Get startedSee our plans