Use this API to start an asynchronous agent execution. The engine creates an execution document in Firestore and dispatches a Cloud Task for processing. The response returns immediately with the executionId. Poll Get Execution to track progress and fetch findings.To run several agents in one request, send agentIds instead of agentId, on one page or on several. Each agent gets its own execution, and the response lists one executionId per agent. See Several agents on one page and Several agents on several pages.The apiKey is injected from request headers. organizationId and documentId are required and identify the document the execution runs against: the document must already exist, and findings are persisted to it as comment annotations. Cross-page execution is controlled via the crossPageExecute boolean; there is no separate endpoint. To review an exact set of pages instead of crawling, send them in urls.The schema uses .passthrough() so any additional fields are forwarded.
Min 1 char. The agent to run. Send agentId to run one agent, or agentIds to run several. One of the two is required. When both are sent, agentId wins: agentIds is ignored and only agentId runs.
Runs several agents in one request, on one page or on several. 1 to 10 distinct agent IDs, each min 1 char. A repeated ID runs once and counts once toward the limit.Each agent gets its own execution, validated and created exactly as a single-agent run, and posts its findings as soon as it finishes. One agent that cannot start does not stop the others.Every other field in the request, including urls, crossPageExecute, userContext, deviceType, and aiConfig, applies to every agent in the list.Several pages. With a urls list of more than one page, or with crossPageExecute: true, each agent still gets one execution, and that execution covers every page, as a single-agent run over those pages does. The page list is resolved once for all the agents (your list, or one crawl), and each page is reviewed by all the agents together, so it loads once for them. An execution completes when its last page is processed. Whether a run has one page or several is decided after the urls list is normalized, so two spellings of one page are one page.At most 25 pages of one site start at once; the rest start in waves 30 seconds apart. A page that fails, runs out of time, or keeps failing after 3 deliveries is counted as an errored page of each execution it belongs to (resultsSummary.urlsErrored), and the other pages still count, so the execution ends partial rather than error when some pages succeed.
Valid URL. The seed URL to process. When urls is present, this is the site the list belongs to: relative entries resolve against it and every entry must be on its host.Agents review public pages only. A request to a loopback, link-local, cloud metadata, or private network address (such as localhost, 127.0.0.1, 169.254.169.254, 10.0.0.5, 192.168.1.10, or a *.local or *.internal host) is refused, whether it is the page itself or something the page loads, so that page or resource does not load.
Review exactly these pages instead of crawling. Max 500 entries. Each entry is an absolute http(s) URL or a site-relative path starting with / (for example /s/article?id=101), resolved against url. url stays required and is never replaced by an entry.The engine normalizes entries before the run. It skips blank entries and drops the #fragment. It removes the review toolbar query params (review, feedback, sreviewId, scommentId, sprojectInstall, sflivedemo, sembed, scommentmode, sreadonly, sagentcomments, st). It keeps every other query param in the order you sent it, and keeps a trailing slash. The engine drops an entry on another host, an entry that is not a URL or a path (site.com/x, mailto:), and a repeat of an earlier entry. The first occurrence of a page is the one that runs.When urls is present, the engine skips the crawler and derives crossPageExecute and maxUrlsToProcess from the surviving entries. Sending more than 500 entries, a list where nothing survives, or a url that is not a usable http(s) URL returns INVALID_ARGUMENT.
How many pages the source of your urls list had before you cut it to fit, for example a sitemap of 1,200 pages sent as 500. Whole number, 1 to 10,000,000. Reporting only: when it is larger than the number of pages the run reviews, the run carries a non-blocking warning, { "code": "pages-truncated", "pagesTotal": 1200, "pagesRun": 500 }, in the response’s warnings and in the execution’s warnings on Get Execution. Ignored without urls.
When true, the engine crawls the seed URL and processes up to maxUrlsToProcess pages. Default: false. Ignored when urls is present: it is then true when the list has more than one page.
Max URLs to process when crossPageExecute: true. Positive integer. Default: 50. Ignored when urls is present: it is then the number of pages in the list.
Device mode to emulate for this execution: "mobile" or "desktop". Default: "desktop". Drives the Puppeteer viewport/user-agent used by all context-gathering strategies and pin resolution, and sets pageInfo.deviceInfo.deviceType on every annotation the execution creates.The mobile-inspector built-in agent always runs as "mobile", whatever you send, because it measures the page at phone width.
Sets who can see the comment annotations this execution creates: "public" or "private". Default: "private".With "private", each annotation is created with visibility { type: "organizationPrivate", organizationId }. Only members and admins of the execution’s organization see the finding pins.With "public", each annotation is created with visibility { type: "public" }. Anyone with access to the document sees the finding pins, including users outside the organization.These two are the only accepted values; request validation rejects any other string. Omitting the field resolves to "private". The execution never overrides an annotation that already carries its own visibility.
Runtime values for the agent’s userContextFields. Keys must match the field IDs declared in the agent’s input.userContextFields. The request is checked against those declarations before any execution is created: a missing required field, or a value of another type, returns INVALID_ARGUMENT. A declared field that is missing, null, or an empty string takes its defaultValue and then satisfies required. Some built-in agents also read options from it, such as switching a check off: see Per-run options. migration-parity needs liveSiteUrl: a run without a usable live site, or with the run’s own site as the live site, returns INVALID_ARGUMENT too.Four optional run-scope keys work with every agent, built-in or custom, whatever fields it declares. Leave them out and the run behaves as before.
Key
Type
Effect
focusIssueTypes
string[]
Reports and annotates only findings whose issueType is in the list, compared case-insensitively. 1 to 50 non-blank entries of at most 100 characters each. A finding without an issueType is dropped. Built-in values are listed in Issue types.
sourceAnnotationId
string
The comment that asked for the run. Added to every finding’s agent.reason as sourceAnnotationId, so you can link each finding back to it.
sourcePageUrl
string
The page that comment is on. Added to agent.reason as sourcePageUrl when sourceAnnotationId is also set.
sourceElementXpath
string
Full positional XPath of the element that comment is pinned on, for example /html/body/main/section[2]/img. A finding pinned on the same element of sourcePageUrl is dropped, so the run does not repeat the comment. Has no effect without sourcePageUrl.
The three source* keys take non-blank strings of at most 4,096 characters.A focused run is a recheck. With focusIssueTypes, the run first removes the agent’s earlier pending suggestions of the listed issue types on the pages it reviewed, then pins the ones still present. Suggestions of other issue types stay. Without focusIssueTypes, a run that sets sourceAnnotationId replaces only the pending suggestions the agent made earlier from that same comment.This removal never touches a suggestion a user already resolved, or a page the run could not load. It follows the agent’s postProcess.deletePreviousSuggestions setting (on by default). The one exception: a sourceAnnotationId run without focusIssueTypes replaces that comment’s earlier suggestions even when the setting is off.A malformed run-scope key, such as focusIssueTypes sent as a string or an empty list, returns INVALID_ARGUMENT before any run starts. The message states the rule the key breaks, for example userContext.focusIssueTypes must be a list of 1 to 50 non-blank issue types of at most 100 characters each.Two optional run-control keys change how the run runs, not what an agent reports. They also work with every agent. Leave them out and nothing changes.
Key
Type
Effect
forceFullRun
true
Every agent runs on every page, even where change detection would keep the agent’s previous findings because the page has not changed.
changeDetection
string or false
"off", "shadow", or "on", or false for "off". Lowers change detection for this run only, and never raises it. "off" skips the change check, so the run makes no extra plain HTTP fetch of each page and asks nothing about changed text.
Change detection keeps an eligible built-in agent’s previous findings on a page that has not changed since the agent last ran on it, instead of running the agent there. Custom agents, and runs that set focusIssueTypes, sourceAnnotationId, or sourcePageUrl, always run in full. On Velt’s hosted platform, change detection only measures today: every agent still runs on every page. Its check of changed page text counts toward the Proofreader’s daily question limit.Any other value of a run-control key is ignored. Unlike the run-scope keys, these never return INVALID_ARGUMENT.These six key names are reserved in userContext: Create Agent and Update Agent Version refuse a userContextFields entry whose id is one of them.
Per-execution LLM override. Omit it to run on the provider and model the platform resolves for the agent (see the notes below).
Field
Type
Required
Description
provider
string
no
"gemini", "claude", or "openai". Any other value is rejected. Overrides the agent’s own provider for this run.
model
string
no
Pins one model for this run. Must be on the allowlist (see below). Pair it with provider.
defaultModels
object
no
Per-provider model policy, { "<provider>": "<model>" }. Each key must be a valid provider and each value must be on that provider’s allowlist.
maxToolTurns
number
no
Tool-loop turn budget for the mcp-tools execution strategy. Integer 1..16.
modelChecks
string[]
no
Turns on optional checks that send page content or screenshots to an AI model. These checks are off unless a run turns them on. A non-empty list with no repeated entry. The only value today is "image-crop", the Image Inspector’s bad-crop check. An agent’s own option wins: cropCheck: false keeps that check off. See Image Inspector.
Which provider and model a run uses. Provider: aiConfig.provider, then the provider stored on the agent, then the platform default, which is Claude on Velt’s hosted platform. Model: aiConfig.model, then aiConfig.defaultModels for that provider, then the provider’s default model: claude-opus-5-5 on Claude, gemini-3.6-flash on Gemini, and gpt-5.6-luna on OpenAI. Most built-in agents store no provider and follow the platform default; the Consistency Checker runs on Claude. Get Execution reports the model that answered in llmModel.
Your own provider keys. When your workspace stored its own key for some providers (aiModelApiKey on Update API Key Config), a run that does not send aiConfig.provider makes its model calls on a provider you have a key for, even when the agent resolves to another provider. Velt’s keys are used only when the providers you have a key for fail. A provider you name in aiConfig.provider is always tried first: on your key when you stored one, otherwise on Velt’s. Tool loops (mcp-tools, and the browser loop of stagehand-agent) start on the resolved provider whatever keys you stored.
Fallback. When a provider fails with an error worth retrying, such as an outage, a rate limit, or a quota, or when Claude declines a request on a safety classifier, the call moves to the next provider. The order starts with the resolved provider, then the others in the order claude, openai, gemini. Get Execution lists every provider a run fell back past in providerFallbacks.
model and defaultModels solve different problems.model pins a single model for this run, which is only correct when you know the agent’s provider. defaultModels is the per-provider form: send it when you reuse one aiConfig across many runs whose agents sit on different providers, so each run picks up the right model for whichever provider its agent resolves to. Sending both is allowed.
Allowed models. A request cannot point an execution at an arbitrary model string. model is validated against the allowlist for the supplied provider, or against the union of every provider’s allowlist when provider is omitted. The allowlist is deliberately narrow:
Provider
Allowed models
gemini
gemini-3.6-flash
claude
claude-opus-5-5 (the default), claude-sonnet-5-5, claude-opus-5, claude-sonnet-5
openai
gpt-5.6-luna
Sending model without provider only passes a weaker check. The model is re-checked at execution time against the provider the agent actually resolves to, and if it does not match, the override is dropped and the run falls back to that provider’s default model. The request still returns 200 and nothing in the response tells you the pin was ignored. Send provider alongside model, or use defaultModels, to guarantee the pin.
Validation rules specific to this object:
Unlike the rest of the request body, aiConfig rejects unknown keys. A typo such as modell returns INVALID_ARGUMENT instead of being silently ignored.
At least one of provider, model, defaultModels, maxToolTurns, or modelChecks must be present. An empty aiConfig: {} is rejected with aiConfig must specify at least one of: provider, model, defaultModels, maxToolTurns, modelChecks.
defaultModels cannot be an empty object.
modelChecks cannot be empty (aiConfig.modelChecks cannot be empty), and each entry must be a known check (aiConfig.modelChecks entries must be one of: image-crop).
Use this for sites whose pages differ only by a query string, such as a Salesforce help site, where a crawl cannot find them. Relative entries resolve against url.
The execution then reports config.pageSource: "list", config.seedUrl set to the first page in the list, and crawlerResults.status: "skipped". See Get Execution.
The response lists one executionId per agent. Poll each one with Get Execution. See Success Response (several agents).This suite runs the Link Checker and the Image Inspector on the same page, so the Image Inspector leaves the Link Checker the broken images it reports, and each one is reported once. You do not set anything for this. See Per-run options.
Rechecks only blurry and stretched images on two pages, and links each finding to the comment that asked for the recheck. The earlier pending blurry and stretched image suggestions on those pages are replaced; other image suggestions stay.
Runs three agents on ten pages of one site. Each agent gets one execution that covers all ten pages, and each page is reviewed by the three agents together.
The response has the same shape as for one page: one executionId per agent. Each execution reports config.crossPageExecute: true, config.maxUrlsToProcess: 10, config.pageSource: "list", and, when it completes, resultsSummary.urlsProcessed: 10. To crawl instead of listing pages, send crossPageExecute: true and maxUrlsToProcess without urls.On several pages, the Image Inspector does not leave broken images to the Link Checker by itself. Add "linkCheckerOnSamePages": true to userContext to report each broken image once. The Proofreader still leaves lorem ipsum to lorem-ipsum when both run. See Per-run options.
Runs the Image Inspector with its bad-crop check, which sends screenshots of the page’s photos to an AI model. The check is off unless a run turns it on.
Present only when the run started with non-blocking warnings, such as { "code": "pages-truncated", "pagesTotal": 1200, "pagesRun": 500 } (see pageListTotal). The execution carries the same warnings.
With agentIds, the response lists the executions that started and the agents that could not start. One agent failing to start does not stop the others.
{ "result": { "status": "success", "message": "Agent suite created successfully", "data": { "executions": [ { "agentId": "spell-check", "executionId": "exec_1711900000000_spellcheck" }, { "agentId": "image-inspector", "executionId": "exec_1711900000001_imageinspector" } ], "failed": [ { "agentId": "broken-links", "code": "already-exists", "message": "Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_brokenlinks" } ] } }}
Field
Type
Description
data.executions
object[]
One entry per agent that started, in the order of agentIds: agentId and executionId, plus a warnings array when that run started with non-blocking warnings. Poll each executionId with Get Execution.
data.failed
object[]
One entry per agent that could not start: agentId, code, and message. code is always a lowercase string error code, such as already-exists, invalid-argument (the agent refuses the userContext), not-found, permission-denied, resource-exhausted, or internal. message is the agent’s own error message when you can act on it (Agent could not start. when it has none), and Agent execution failed. otherwise.
The request fails only when no agent could start. It then returns the first agent’s error, and error.details.failed lists every agent’s failure in the same shape as data.failed:
{ "error": { "message": "Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_spellcheck", "status": "ALREADY_EXISTS", "details": { "failed": [ { "agentId": "spell-check", "code": "already-exists", "message": "Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_spellcheck" } ] } }}
INVALID_ARGUMENT: invalid URL; neither agentId nor agentIds (agentId or agentIds is required); missing organizationId or documentId; or an invalid trigger, deviceType, or annotationVisibility.
INVALID_ARGUMENT: an agentIds list, sent without agentId, that names no agent or more than 10 distinct agents (An agent suite needs between 1 and 10 distinct agentIds.), or that holds an entry that is not a non-empty string.
INVALID_ARGUMENT: a urls list with more than 500 entries, a list where no entry survives normalization (every entry blank, on another host, or not a URL or path), or a url that is not a usable http(s) URL to resolve the list against.
INVALID_ARGUMENT: an aiConfig that is empty, carries an unknown key, names a provider outside gemini / claude / openai, names a model outside the allowlist, supplies an empty defaultModels, sets maxToolTurns outside 1..16, or sends a modelChecks list that is empty, repeats an entry, or names an unknown check.
INVALID_ARGUMENT: a malformed run-scope key in userContext. The message names the key and its rule, for example userContext.sourcePageUrl must be a non-blank string of at most 4096 characters, and error.details.issues lists every malformed key.
INVALID_ARGUMENT: a userContext the agent’s input.userContextFields refuse: a missing required field (Validation failed: Missing required userContext field: <id>) or a value of another type (Validation failed: userContext field '<id>' expected type '<type>', got '<actual>').
INVALID_ARGUMENT: a migration-parity run without a usable userContext.liveSiteUrl (Migration Parity needs the live site to compare against: send userContext.liveSiteUrl (a full address or a bare domain)), or whose live site is the run’s own site (Migration Parity needs a live site other than the project site: userContext.liveSiteUrl names the same site as the run's url).
NOT_FOUND: store database not found, or the target document does not exist.
ALREADY_EXISTS: an execution is already running for this agent and document combination. The error message includes the running execution’s ID. An execution that stopped making progress does not count: the new run ends it with error.codeSTALE_RUN and starts.
RESOURCE_EXHAUSTED: the workspace’s AI credits are exhausted.
INTERNAL: the run could not be started after its execution was created (Failed to dispatch agent execution task.). Every execution the request created ends with status error and error.codeTASK_DISPATCH_FAILED. Send the request again.
With agentIds, an error that concerns one agent, such as NOT_FOUND, ALREADY_EXISTS, RESOURCE_EXHAUSTED, or a userContext that agent refuses, appears in data.failed and the other agents still start. The request fails with it only when no agent could start. Every other INVALID_ARGUMENT, and INTERNAL, rejects the whole request.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Velt","colors":{"primary":"#272728","light":"#D5D5D5","dark":"#000000"},"logo":{"light":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big-light.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=c75fd62a074f53174a364509b4363fdc","dark":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=3b5f452918e68f127b7dcae71c396463","href":"https://docs.velt.dev"},"favicon":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-favi.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=5ddfb042b3fd320882626c440411bd95","api":{"playground":{"display":"interactive"}},"appearance":{"default":"dark"},"background":{"color":{"dark":"#090014"}},"navbar":{"primary":{"type":"button","label":"Get API Key","href":"https://console.velt.dev/"}},"footer":{"socials":{"twitter":"https://twitter.com/veltjs","linkedin":"https://www.linkedin.com/company/veltjs"}},"search":{"prompt":"Search or ask..."},"seo":{"metatags":{"og:image":"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd","twitter:image":"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd","twitter:card":"summary_large_image"},"indexing":"all"},"integrations":{"intercom":{"appId":"fxx14qnk"},"mixpanel":{"projectToken":"6fe5c5cd3adeb341288776482e7bb147"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"velt","hasAudioNarration":false,"actualSubdomain":"velt","customDomains":["velt.dev"],"gitSource":{"type":"github","owner":"velt-js","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeaec9cd4a2465447e7dd9d","collectionId":"c55a8d84-f3bd-4e45-aa44-82e3d31c316c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeaec9cd4a2465447e7dd9d"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeaec9cd4a2465447e7dd9d","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":218},{"language":"default","tag":"REST APIs","count":215},{"language":"default","tag":"v2","count":170},{"language":"default","tag":"Documentation","count":168},{"language":"default","tag":"UI Customization","count":125},{"language":"default","tag":"Comments","count":94},{"language":"default","tag":"Release Notes","count":90},{"language":"default","tag":"Components: Async Collaboration","count":75},{"language":"default","tag":"Async Collaboration","count":62},{"language":"default","tag":"Realtime Collaboration","count":46}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"rakesh@velt.dev","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":""},{"filePath":"style.css","content":"::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}th{text-align:left}.update-container .relative{max-width:525px!important}#table-of-contents-content{overflow-x:clip;height:100%}"},{"filePath":"public/custom.css","content":""}],"page":{"pagePath":"api-reference/rest-apis/v2/agents/execution/run","slug":"/api-reference/rest-apis/v2/agents/execution/run","pageMetadata":{"title":"Run Execution","api":"POST https://api.velt.dev/v2/agents/execution/run","description":null,"href":"/api-reference/rest-apis/v2/agents/execution/run"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Note,ParamField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use this API to start an asynchronous agent execution. The engine creates an execution document in Firestore and dispatches a Cloud Task for processing. The response returns immediately with the `,_jsx(_components.code,{children:`executionId`}),`. Poll `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),` to track progress and fetch findings.`]}),`\n`,_jsxs(_components.p,{children:[`To run several agents in one request, send `,_jsx(_components.code,{children:`agentIds`}),` instead of `,_jsx(_components.code,{children:`agentId`}),`, on one page or on several. Each agent gets its own execution, and the response lists one `,_jsx(_components.code,{children:`executionId`}),` per agent. See `,_jsx(_components.a,{href:`#9-several-agents-on-one-page`,children:`Several agents on one page`}),` and `,_jsx(_components.a,{href:`#11-several-agents-on-several-pages`,children:`Several agents on several pages`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`apiKey`}),` is injected from request headers. `,_jsx(_components.code,{children:`organizationId`}),` and `,_jsx(_components.code,{children:`documentId`}),` are required and identify the document the execution runs against: the document must already exist, and findings are persisted to it as comment annotations. Cross-page execution is controlled via the `,_jsx(_components.code,{children:`crossPageExecute`}),` boolean; there is no separate endpoint. To review an exact set of pages instead of crawling, send them in `,_jsx(_components.code,{children:`urls`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The schema uses `,_jsx(_components.code,{children:`.passthrough()`}),` so any additional fields are forwarded.`]}),`\n`,_jsx(Heading,{level:`1`,id:`endpoint`,children:`Endpoint`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`POST https://api.velt.dev/v2/agents/execution/run`})}),`\n`,_jsx(Heading,{level:`1`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`x-velt-api-key`,type:`string`,required:true,id:`param-x-velt-api-key`,children:_jsx(_components.p,{children:`Your API key.`})}),`\n`,_jsx(ParamField,{header:`x-velt-auth-token`,type:`string`,required:true,id:`param-x-velt-auth-token`,children:_jsxs(_components.p,{children:[`Your `,_jsx(_components.a,{href:`/security/auth-tokens`,children:`Auth Token`}),`.`]})}),`\n`,_jsx(Heading,{level:`1`,id:`body`,children:`Body`}),`\n`,_jsx(Heading,{level:`4`,id:`params`,children:`Params`}),`\n`,_jsx(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`agentId`,type:`string`,id:`param-agent-id`,children:_jsxs(_components.p,{children:[`Min 1 char. The agent to run. Send `,_jsx(_components.code,{children:`agentId`}),` to run one agent, or `,_jsx(_components.code,{children:`agentIds`}),` to run several. One of the two is required. When both are sent, `,_jsx(_components.code,{children:`agentId`}),` wins: `,_jsx(_components.code,{children:`agentIds`}),` is ignored and only `,_jsx(_components.code,{children:`agentId`}),` runs.`]})}),_jsxs(ParamField,{body:`agentIds`,type:`string[]`,id:`param-agent-ids`,children:[_jsx(_components.p,{children:`Runs several agents in one request, on one page or on several. 1 to 10 distinct agent IDs, each min 1 char. A repeated ID runs once and counts once toward the limit.`}),_jsx(_components.p,{children:`Each agent gets its own execution, validated and created exactly as a single-agent run, and posts its findings as soon as it finishes. One agent that cannot start does not stop the others.`}),_jsxs(_components.p,{children:[`Every other field in the request, including `,_jsx(_components.code,{children:`urls`}),`, `,_jsx(_components.code,{children:`crossPageExecute`}),`, `,_jsx(_components.code,{children:`userContext`}),`, `,_jsx(_components.code,{children:`deviceType`}),`, and `,_jsx(_components.code,{children:`aiConfig`}),`, applies to every agent in the list.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Several pages.`}),` With a `,_jsx(_components.code,{children:`urls`}),` list of more than one page, or with `,_jsx(_components.code,{children:`crossPageExecute: true`}),`, each agent still gets one execution, and that execution covers every page, as a single-agent run over those pages does. The page list is resolved once for all the agents (your list, or one crawl), and each page is reviewed by all the agents together, so it loads once for them. An execution completes when its last page is processed. Whether a run has one page or several is decided after the `,_jsx(_components.code,{children:`urls`}),` list is normalized, so two spellings of one page are one page.`]}),_jsxs(_components.p,{children:[`At most 25 pages of one site start at once; the rest start in waves 30 seconds apart. A page that fails, runs out of time, or keeps failing after 3 deliveries is counted as an errored page of each execution it belongs to (`,_jsx(_components.code,{children:`resultsSummary.urlsErrored`}),`), and the other pages still count, so the execution ends `,_jsx(_components.code,{children:`partial`}),` rather than `,_jsx(_components.code,{children:`error`}),` when some pages succeed.`]})]}),_jsxs(ParamField,{body:`url`,type:`string`,required:true,id:`param-url`,children:[_jsxs(_components.p,{children:[`Valid URL. The seed URL to process. When `,_jsx(_components.code,{children:`urls`}),` is present, this is the site the list belongs to: relative entries resolve against it and every entry must be on its host.`]}),_jsxs(_components.p,{children:[`Agents review public pages only. A request to a loopback, link-local, cloud metadata, or private network address (such as `,_jsx(_components.code,{children:`localhost`}),`, `,_jsx(_components.code,{children:`127.0.0.1`}),`, `,_jsx(_components.code,{children:`169.254.169.254`}),`, `,_jsx(_components.code,{children:`10.0.0.5`}),`, `,_jsx(_components.code,{children:`192.168.1.10`}),`, or a `,_jsx(_components.code,{children:`*.local`}),` or `,_jsx(_components.code,{children:`*.internal`}),` host) is refused, whether it is the page itself or something the page loads, so that page or resource does not load.`]})]}),_jsxs(ParamField,{body:`urls`,type:`string[]`,id:`param-urls`,children:[_jsxs(_components.p,{children:[`Review exactly these pages instead of crawling. Max 500 entries. Each entry is an absolute `,_jsx(_components.code,{children:`http(s)`}),` URL or a site-relative path starting with `,_jsx(_components.code,{children:`/`}),` (for example `,_jsx(_components.code,{children:`/s/article?id=101`}),`), resolved against `,_jsx(_components.code,{children:`url`}),`. `,_jsx(_components.code,{children:`url`}),` stays required and is never replaced by an entry.`]}),_jsxs(_components.p,{children:[`The engine normalizes entries before the run. It skips blank entries and drops the `,_jsx(_components.code,{children:`#fragment`}),`. It removes the review toolbar query params (`,_jsx(_components.code,{children:`review`}),`, `,_jsx(_components.code,{children:`feedback`}),`, `,_jsx(_components.code,{children:`sreviewId`}),`, `,_jsx(_components.code,{children:`scommentId`}),`, `,_jsx(_components.code,{children:`sprojectInstall`}),`, `,_jsx(_components.code,{children:`sflivedemo`}),`, `,_jsx(_components.code,{children:`sembed`}),`, `,_jsx(_components.code,{children:`scommentmode`}),`, `,_jsx(_components.code,{children:`sreadonly`}),`, `,_jsx(_components.code,{children:`sagentcomments`}),`, `,_jsx(_components.code,{children:`st`}),`). It keeps every other query param in the order you sent it, and keeps a trailing slash. The engine drops an entry on another host, an entry that is not a URL or a path (`,_jsx(_components.code,{children:`site.com/x`}),`, `,_jsx(_components.code,{children:`mailto:`}),`), and a repeat of an earlier entry. The first occurrence of a page is the one that runs.`]}),_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`urls`}),` is present, the engine skips the crawler and derives `,_jsx(_components.code,{children:`crossPageExecute`}),` and `,_jsx(_components.code,{children:`maxUrlsToProcess`}),` from the surviving entries. Sending more than 500 entries, a list where nothing survives, or a `,_jsx(_components.code,{children:`url`}),` that is not a usable `,_jsx(_components.code,{children:`http(s)`}),` URL returns `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`.`]})]}),_jsx(ParamField,{body:`pageListTotal`,type:`number`,id:`param-page-list-total`,children:_jsxs(_components.p,{children:[`How many pages the source of your `,_jsx(_components.code,{children:`urls`}),` list had before you cut it to fit, for example a sitemap of 1,200 pages sent as 500. Whole number, 1 to 10,000,000. Reporting only: when it is larger than the number of pages the run reviews, the run carries a non-blocking warning, `,_jsx(_components.code,{children:`{ \"code\": \"pages-truncated\", \"pagesTotal\": 1200, \"pagesRun\": 500 }`}),`, in the response’s `,_jsx(_components.code,{children:`warnings`}),` and in the execution’s `,_jsx(_components.code,{children:`warnings`}),` on `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),`. Ignored without `,_jsx(_components.code,{children:`urls`}),`.`]})}),_jsx(ParamField,{body:`crossPageExecute`,type:`boolean`,id:`param-cross-page-execute`,children:_jsxs(_components.p,{children:[`When true, the engine crawls the seed URL and processes up to `,_jsx(_components.code,{children:`maxUrlsToProcess`}),` pages. Default: `,_jsx(_components.code,{children:`false`}),`. Ignored when `,_jsx(_components.code,{children:`urls`}),` is present: it is then `,_jsx(_components.code,{children:`true`}),` when the list has more than one page.`]})}),_jsx(ParamField,{body:`maxUrlsToProcess`,type:`number`,id:`param-max-urls-to-process`,children:_jsxs(_components.p,{children:[`Max URLs to process when `,_jsx(_components.code,{children:`crossPageExecute: true`}),`. Positive integer. Default: 50. Ignored when `,_jsx(_components.code,{children:`urls`}),` is present: it is then the number of pages in the list.`]})}),_jsxs(ParamField,{body:`deviceType`,type:`string`,id:`param-device-type`,children:[_jsxs(_components.p,{children:[`Device mode to emulate for this execution: `,_jsx(_components.code,{children:`\"mobile\"`}),` or `,_jsx(_components.code,{children:`\"desktop\"`}),`. Default: `,_jsx(_components.code,{children:`\"desktop\"`}),`. Drives the Puppeteer viewport/user-agent used by all context-gathering strategies and pin resolution, and sets `,_jsx(_components.code,{children:`pageInfo.deviceInfo.deviceType`}),` on every annotation the execution creates.`]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`mobile-inspector`}),` built-in agent always runs as `,_jsx(_components.code,{children:`\"mobile\"`}),`, whatever you send, because it measures the page at phone width.`]})]}),_jsx(ParamField,{body:`organizationId`,type:`string`,required:true,id:`param-organization-id`,children:_jsx(_components.p,{children:`Organization ID. Identifies the organization the execution runs against; findings are persisted to it as comment annotations.`})}),_jsx(ParamField,{body:`documentId`,type:`string`,required:true,id:`param-document-id`,children:_jsxs(_components.p,{children:[`Document ID. The document must already exist (unknown documents return `,_jsx(_components.code,{children:`NOT_FOUND`}),`); findings are persisted to it as comment annotations.`]})}),_jsxs(ParamField,{body:`annotationVisibility`,type:`string`,id:`param-annotation-visibility`,children:[_jsxs(_components.p,{children:[`Sets who can see the comment annotations this execution creates: `,_jsx(_components.code,{children:`\"public\"`}),` or `,_jsx(_components.code,{children:`\"private\"`}),`. Default: `,_jsx(_components.code,{children:`\"private\"`}),`.`]}),_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`\"private\"`}),`, each annotation is created with visibility `,_jsx(_components.code,{children:`{ type: \"organizationPrivate\", organizationId }`}),`. Only members and admins of the execution’s organization see the finding pins.`]}),_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`\"public\"`}),`, each annotation is created with visibility `,_jsx(_components.code,{children:`{ type: \"public\" }`}),`. Anyone with access to the document sees the finding pins, including users outside the organization.`]}),_jsxs(_components.p,{children:[`These two are the only accepted values; request validation rejects any other string. Omitting the field resolves to `,_jsx(_components.code,{children:`\"private\"`}),`. The execution never overrides an annotation that already carries its own `,_jsx(_components.code,{children:`visibility`}),`.`]})]}),_jsx(ParamField,{body:`trigger`,type:`string`,id:`param-trigger`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"standalone\"`}),` (default) or `,_jsx(_components.code,{children:`\"workflow\"`}),`. Use `,_jsx(_components.code,{children:`\"workflow\"`}),` when running an agent as part of a Review Workflow Builder workflow node.`]})}),_jsx(ParamField,{body:`workflowExecutionId`,type:`string`,id:`param-workflow-execution-id`,children:_jsxs(_components.p,{children:[`Parent workflow execution ID. Pair with `,_jsx(_components.code,{children:`trigger: \"workflow\"`}),`.`]})}),_jsxs(ParamField,{body:`ranBy`,type:`object`,id:`param-ran-by`,children:[_jsx(_components.p,{children:`User who triggered the execution.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`userId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`yes (if ranBy)`}),_jsx(_components.td,{children:`User ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Display name. Default: `,_jsx(_components.code,{children:`\"\"`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Email. Default: `,_jsx(_components.code,{children:`\"\"`}),`.`]})]})]})]})]}),_jsxs(ParamField,{body:`userContext`,type:`object`,id:`param-user-context`,children:[_jsxs(_components.p,{children:[`Runtime values for the agent’s `,_jsx(_components.code,{children:`userContextFields`}),`. Keys must match the field IDs declared in the agent’s `,_jsx(_components.code,{children:`input.userContextFields`}),`. The request is checked against those declarations before any execution is created: a missing required field, or a value of another type, returns `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`. A declared field that is missing, `,_jsx(_components.code,{children:`null`}),`, or an empty string takes its `,_jsx(_components.code,{children:`defaultValue`}),` and then satisfies `,_jsx(_components.code,{children:`required`}),`. Some built-in agents also read options from it, such as switching a check off: see `,_jsx(_components.a,{href:`/ai/agents/overview#per-run-options`,children:`Per-run options`}),`. `,_jsx(_components.code,{children:`migration-parity`}),` needs `,_jsx(_components.code,{children:`liveSiteUrl`}),`: a run without a usable live site, or with the run’s own site as the live site, returns `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),` too.`]}),_jsx(_components.p,{children:`Four optional run-scope keys work with every agent, built-in or custom, whatever fields it declares. Leave them out and the run behaves as before.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`focusIssueTypes`})}),_jsx(_components.td,{children:`string[]`}),_jsxs(_components.td,{children:[`Reports and annotates only findings whose `,_jsx(_components.code,{children:`issueType`}),` is in the list, compared case-insensitively. 1 to 50 non-blank entries of at most 100 characters each. A finding without an `,_jsx(_components.code,{children:`issueType`}),` is dropped. Built-in values are listed in `,_jsx(_components.a,{href:`/ai/agents/overview#issue-types`,children:`Issue types`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sourceAnnotationId`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`The comment that asked for the run. Added to every finding’s `,_jsx(_components.code,{children:`agent.reason`}),` as `,_jsx(_components.code,{children:`sourceAnnotationId`}),`, so you can link each finding back to it.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sourcePageUrl`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`The page that comment is on. Added to `,_jsx(_components.code,{children:`agent.reason`}),` as `,_jsx(_components.code,{children:`sourcePageUrl`}),` when `,_jsx(_components.code,{children:`sourceAnnotationId`}),` is also set.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sourceElementXpath`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Full positional XPath of the element that comment is pinned on, for example `,_jsx(_components.code,{children:`/html/body/main/section[2]/img`}),`. A finding pinned on the same element of `,_jsx(_components.code,{children:`sourcePageUrl`}),` is dropped, so the run does not repeat the comment. Has no effect without `,_jsx(_components.code,{children:`sourcePageUrl`}),`.`]})]})]})]}),_jsxs(_components.p,{children:[`The three `,_jsx(_components.code,{children:`source*`}),` keys take non-blank strings of at most 4,096 characters.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A focused run is a recheck.`}),` With `,_jsx(_components.code,{children:`focusIssueTypes`}),`, the run first removes the agent’s earlier pending suggestions of the listed issue types on the pages it reviewed, then pins the ones still present. Suggestions of other issue types stay. Without `,_jsx(_components.code,{children:`focusIssueTypes`}),`, a run that sets `,_jsx(_components.code,{children:`sourceAnnotationId`}),` replaces only the pending suggestions the agent made earlier from that same comment.`]}),_jsxs(_components.p,{children:[`This removal never touches a suggestion a user already resolved, or a page the run could not load. It follows the agent’s `,_jsx(_components.code,{children:`postProcess.deletePreviousSuggestions`}),` setting (on by default). The one exception: a `,_jsx(_components.code,{children:`sourceAnnotationId`}),` run without `,_jsx(_components.code,{children:`focusIssueTypes`}),` replaces that comment’s earlier suggestions even when the setting is off.`]}),_jsxs(_components.p,{children:[`A malformed run-scope key, such as `,_jsx(_components.code,{children:`focusIssueTypes`}),` sent as a string or an empty list, returns `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),` before any run starts. The message states the rule the key breaks, for example `,_jsx(_components.code,{children:`userContext.focusIssueTypes must be a list of 1 to 50 non-blank issue types of at most 100 characters each`}),`.`]}),_jsx(_components.p,{children:`Two optional run-control keys change how the run runs, not what an agent reports. They also work with every agent. Leave them out and nothing changes.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`forceFullRun`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`true`})}),_jsx(_components.td,{children:`Every agent runs on every page, even where change detection would keep the agent’s previous findings because the page has not changed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`changeDetection`})}),_jsxs(_components.td,{children:[`string or `,_jsx(_components.code,{children:`false`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"off\"`}),`, `,_jsx(_components.code,{children:`\"shadow\"`}),`, or `,_jsx(_components.code,{children:`\"on\"`}),`, or `,_jsx(_components.code,{children:`false`}),` for `,_jsx(_components.code,{children:`\"off\"`}),`. Lowers change detection for this run only, and never raises it. `,_jsx(_components.code,{children:`\"off\"`}),` skips the change check, so the run makes no extra plain HTTP fetch of each page and asks nothing about changed text.`]})]})]})]}),_jsxs(_components.p,{children:[`Change detection keeps an eligible built-in agent’s previous findings on a page that has not changed since the agent last ran on it, instead of running the agent there. Custom agents, and runs that set `,_jsx(_components.code,{children:`focusIssueTypes`}),`, `,_jsx(_components.code,{children:`sourceAnnotationId`}),`, or `,_jsx(_components.code,{children:`sourcePageUrl`}),`, always run in full. On Velt’s hosted platform, change detection only measures today: every agent still runs on every page. Its check of changed page text counts toward the `,_jsx(_components.a,{href:`/ai/agents/overview#proofreader`,children:`Proofreader’s daily question limit`}),`.`]}),_jsxs(_components.p,{children:[`Any other value of a run-control key is ignored. Unlike the run-scope keys, these never return `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`.`]}),_jsxs(_components.p,{children:[`These six key names are reserved in `,_jsx(_components.code,{children:`userContext`}),`: `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/create`,children:`Create Agent`}),` and `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/version/update`,children:`Update Agent Version`}),` refuse a `,_jsx(_components.code,{children:`userContextFields`}),` entry whose `,_jsx(_components.code,{children:`id`}),` is one of them.`]})]}),_jsxs(ParamField,{body:`aiConfig`,type:`object`,id:`param-ai-config`,children:[_jsx(_components.p,{children:`Per-execution LLM override. Omit it to run on the provider and model the platform resolves for the agent (see the notes below).`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`provider`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"gemini\"`}),`, `,_jsx(_components.code,{children:`\"claude\"`}),`, or `,_jsx(_components.code,{children:`\"openai\"`}),`. Any other value is rejected. Overrides the agent’s own provider for this run.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`model`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Pins one model for this run. Must be on the allowlist (see below). Pair it with `,_jsx(_components.code,{children:`provider`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`defaultModels`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Per-provider model policy, `,_jsx(_components.code,{children:`{ \"\u003cprovider>\": \"\u003cmodel>\" }`}),`. Each key must be a valid provider and each value must be on that provider’s allowlist.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`maxToolTurns`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Tool-loop turn budget for the `,_jsx(_components.code,{children:`mcp-tools`}),` execution strategy. Integer `,_jsx(_components.code,{children:`1..16`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`modelChecks`})}),_jsx(_components.td,{children:`string[]`}),_jsx(_components.td,{children:`no`}),_jsxs(_components.td,{children:[`Turns on optional checks that send page content or screenshots to an AI model. These checks are off unless a run turns them on. A non-empty list with no repeated entry. The only value today is `,_jsx(_components.code,{children:`\"image-crop\"`}),`, the Image Inspector’s bad-crop check. An agent’s own option wins: `,_jsx(_components.code,{children:`cropCheck: false`}),` keeps that check off. See `,_jsx(_components.a,{href:`/ai/agents/overview#image-inspector`,children:`Image Inspector`}),`.`]})]})]})]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Which provider and model a run uses.`}),` Provider: `,_jsx(_components.code,{children:`aiConfig.provider`}),`, then the provider stored on the agent, then the platform default, which is Claude on Velt’s hosted platform. Model: `,_jsx(_components.code,{children:`aiConfig.model`}),`, then `,_jsx(_components.code,{children:`aiConfig.defaultModels`}),` for that provider, then the provider’s default model: `,_jsx(_components.code,{children:`claude-opus-5-5`}),` on Claude, `,_jsx(_components.code,{children:`gemini-3.6-flash`}),` on Gemini, and `,_jsx(_components.code,{children:`gpt-5.6-luna`}),` on OpenAI. Most built-in agents store no provider and follow the platform default; the Consistency Checker runs on Claude. Get Execution reports the model that answered in `,_jsx(_components.code,{children:`llmModel`}),`.`]})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Your own provider keys.`}),` When your workspace stored its own key for some providers (`,_jsx(_components.code,{children:`aiModelApiKey`}),` on `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/workspace/apikeyconfig-update`,children:`Update API Key Config`}),`), a run that does not send `,_jsx(_components.code,{children:`aiConfig.provider`}),` makes its model calls on a provider you have a key for, even when the agent resolves to another provider. Velt’s keys are used only when the providers you have a key for fail. A provider you name in `,_jsx(_components.code,{children:`aiConfig.provider`}),` is always tried first: on your key when you stored one, otherwise on Velt’s. Tool loops (`,_jsx(_components.code,{children:`mcp-tools`}),`, and the browser loop of `,_jsx(_components.code,{children:`stagehand-agent`}),`) start on the resolved provider whatever keys you stored.`]})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fallback.`}),` When a provider fails with an error worth retrying, such as an outage, a rate limit, or a quota, or when Claude declines a request on a safety classifier, the call moves to the next provider. The order starts with the resolved provider, then the others in the order `,_jsx(_components.code,{children:`claude`}),`, `,_jsx(_components.code,{children:`openai`}),`, `,_jsx(_components.code,{children:`gemini`}),`. Get Execution lists every provider a run fell back past in `,_jsx(_components.code,{children:`providerFallbacks`}),`.`]})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`model`}),` and `,_jsx(_components.code,{children:`defaultModels`}),` solve different problems.`]}),` `,_jsx(_components.code,{children:`model`}),` pins a single model for this run, which is only correct when you know the agent’s provider. `,_jsx(_components.code,{children:`defaultModels`}),` is the per-provider form: send it when you reuse one `,_jsx(_components.code,{children:`aiConfig`}),` across many runs whose agents sit on different providers, so each run picks up the right model for whichever provider its agent resolves to. Sending both is allowed.`]})}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Allowed models.`}),` A request cannot point an execution at an arbitrary model string. `,_jsx(_components.code,{children:`model`}),` is validated against the allowlist for the supplied `,_jsx(_components.code,{children:`provider`}),`, or against the union of every provider’s allowlist when `,_jsx(_components.code,{children:`provider`}),` is omitted. The allowlist is deliberately narrow:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Provider`}),_jsx(_components.th,{children:`Allowed models`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gemini`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`gemini-3.6-flash`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`claude`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`claude-opus-5-5`}),` (the default), `,_jsx(_components.code,{children:`claude-sonnet-5-5`}),`, `,_jsx(_components.code,{children:`claude-opus-5`}),`, `,_jsx(_components.code,{children:`claude-sonnet-5`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`openai`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`gpt-5.6-luna`})})]})]})]}),_jsxs(_components.p,{children:[`Sending `,_jsx(_components.code,{children:`model`}),` without `,_jsx(_components.code,{children:`provider`}),` only passes a weaker check. The model is re-checked at execution time against the provider the agent actually resolves to, and if it does not match, the override is dropped and the run falls back to that provider’s default model. The request still returns `,_jsx(_components.code,{children:`200`}),` and nothing in the response tells you the pin was ignored. Send `,_jsx(_components.code,{children:`provider`}),` alongside `,_jsx(_components.code,{children:`model`}),`, or use `,_jsx(_components.code,{children:`defaultModels`}),`, to guarantee the pin.`]})]}),_jsx(_components.p,{children:`Validation rules specific to this object:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Unlike the rest of the request body, `,_jsx(_components.code,{children:`aiConfig`}),` rejects unknown keys. A typo such as `,_jsx(_components.code,{children:`modell`}),` returns `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),` instead of being silently ignored.`]}),`\n`,_jsxs(_components.li,{children:[`At least one of `,_jsx(_components.code,{children:`provider`}),`, `,_jsx(_components.code,{children:`model`}),`, `,_jsx(_components.code,{children:`defaultModels`}),`, `,_jsx(_components.code,{children:`maxToolTurns`}),`, or `,_jsx(_components.code,{children:`modelChecks`}),` must be present. An empty `,_jsx(_components.code,{children:`aiConfig: {}`}),` is rejected with `,_jsx(_components.code,{children:`aiConfig must specify at least one of: provider, model, defaultModels, maxToolTurns, modelChecks`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`defaultModels`}),` cannot be an empty object.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`modelChecks`}),` cannot be empty (`,_jsx(_components.code,{children:`aiConfig.modelChecks cannot be empty`}),`), and each entry must be a known check (`,_jsx(_components.code,{children:`aiConfig.modelChecks entries must be one of: image-crop`}),`).`]}),`\n`]})]})]})}),`\n`,_jsx(Heading,{level:`2`,id:`example-requests`,children:_jsx(_components.strong,{children:`Example Requests`})}),`\n`,_jsx(Heading,{level:`4`,id:`1-single-page-execution`,children:`1. Single page execution`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/pricing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deviceType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"desktop\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jane@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`2-cross-page-execution-with-user-context-mobile`,children:`2. Cross-page execution with user context (mobile)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"crossPageExecute\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"maxUrlsToProcess\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`25`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deviceType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mobile\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"standalone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userContext\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"brand_color\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"#1A73E8\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"brand_font\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Inter\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"check_images\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"jane@example.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`3-workflow-triggered-execution`,children:`3. Workflow-triggered execution`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workflow\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflowExecutionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"wf_exec_789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`4-execution-with-public-annotations`,children:`4. Execution with public annotations`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/pricing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"annotationVisibility\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"public\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`5-pinning-a-provider-and-model-for-one-run`,children:`5. Pinning a provider and model for one run`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/pricing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"aiConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-5-5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`6-per-provider-model-policy-across-mixed-agents`,children:`6. Per-provider model policy across mixed agents`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"aiConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"defaultModels\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"gemini\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gemini-3.6-flash\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"claude\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-5-5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"maxToolTurns\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`7-a-list-of-pages-no-crawl`,children:`7. A list of pages, no crawl`}),`\n`,_jsxs(_components.p,{children:[`Use this for sites whose pages differ only by a query string, such as a Salesforce help site, where a crawl cannot find them. Relative entries resolve against `,_jsx(_components.code,{children:`url`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://help.example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"urls\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"/s/article?id=101\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"/s/article?id=102\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://help.example.com/s/topic?category=billing\u0026sort=newest\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The execution then reports `,_jsx(_components.code,{children:`config.pageSource: \"list\"`}),`, `,_jsx(_components.code,{children:`config.seedUrl`}),` set to the first page in the list, and `,_jsx(_components.code,{children:`crawlerResults.status: \"skipped\"`}),`. See `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`8-minimal-request`,children:`8. Minimal request`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`9-several-agents-on-one-page`,children:`9. Several agents on one page`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"broken-links\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-inspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/pricing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The response lists one `,_jsx(_components.code,{children:`executionId`}),` per agent. Poll each one with `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),`. See `,_jsx(_components.a,{href:`#success-response-several-agents`,children:`Success Response (several agents)`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`This suite runs the Link Checker and the Image Inspector on the same page, so the Image Inspector leaves the Link Checker the broken images it reports, and each one is reported once. You do not set anything for this. See `,_jsx(_components.a,{href:`/ai/agents/overview#image-inspector`,children:`Per-run options`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`10-recheck-some-issue-types`,children:`10. Recheck some issue types`}),`\n`,_jsx(_components.p,{children:`Rechecks only blurry and stretched images on two pages, and links each finding to the comment that asked for the recheck. The earlier pending blurry and stretched image suggestions on those pages are replaced; other image suggestions stay.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-inspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"urls\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/services\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/about\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userContext\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"focusIssueTypes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blurry-image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"stretched-image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceAnnotationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ann_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourcePageUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/services\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceElementXpath\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/html/body/main/section[2]/img\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`11-several-agents-on-several-pages`,children:`11. Several agents on several pages`}),`\n`,_jsx(_components.p,{children:`Runs three agents on ten pages of one site. Each agent gets one execution that covers all ten pages, and each page is reviewed by the three agents together.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"broken-links\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-inspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://www.example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"urls\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/pricing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/about\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/blog\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/contact\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/careers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/docs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/docs/start\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/security\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/terms\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ranBy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The response has the same shape as for one page: one `,_jsx(_components.code,{children:`executionId`}),` per agent. Each execution reports `,_jsx(_components.code,{children:`config.crossPageExecute: true`}),`, `,_jsx(_components.code,{children:`config.maxUrlsToProcess: 10`}),`, `,_jsx(_components.code,{children:`config.pageSource: \"list\"`}),`, and, when it completes, `,_jsx(_components.code,{children:`resultsSummary.urlsProcessed: 10`}),`. To crawl instead of listing pages, send `,_jsx(_components.code,{children:`crossPageExecute: true`}),` and `,_jsx(_components.code,{children:`maxUrlsToProcess`}),` without `,_jsx(_components.code,{children:`urls`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`On several pages, the Image Inspector does not leave broken images to the Link Checker by itself. Add `,_jsx(_components.code,{children:`\"linkCheckerOnSamePages\": true`}),` to `,_jsx(_components.code,{children:`userContext`}),` to report each broken image once. The Proofreader still leaves lorem ipsum to `,_jsx(_components.code,{children:`lorem-ipsum`}),` when both run. See `,_jsx(_components.a,{href:`/ai/agents/overview#per-run-options`,children:`Per-run options`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`12-turn-on-an-optional-model-check`,children:`12. Turn on an optional model check`}),`\n`,_jsx(_components.p,{children:`Runs the Image Inspector with its bad-crop check, which sends screenshots of the page’s photos to an AI model. The check is off unless a run turns it on.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-inspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/team\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"doc_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"aiConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"modelChecks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-crop\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Sending `,_jsx(_components.code,{children:`\"userContext\": { \"cropCheck\": true }`}),` instead turns on the same check. `,_jsx(_components.code,{children:`cropCheck: false`}),` keeps it off even when `,_jsx(_components.code,{children:`modelChecks`}),` lists `,_jsx(_components.code,{children:`image-crop`}),`.`]}),`\n`,_jsx(Heading,{level:`1`,id:`response`,children:`Response`}),`\n`,_jsx(Heading,{level:`4`,id:`success-response`,children:`Success Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Agent execution created successfully\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"executionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"exec_1711900000000_abc123def456\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.executionId`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Unique execution ID. Use to poll via `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.warnings`})}),_jsx(_components.td,{children:`object[]`}),_jsxs(_components.td,{children:[`Present only when the run started with non-blocking warnings, such as `,_jsx(_components.code,{children:`{ \"code\": \"pages-truncated\", \"pagesTotal\": 1200, \"pagesRun\": 500 }`}),` (see `,_jsx(_components.code,{children:`pageListTotal`}),`). The execution carries the same `,_jsx(_components.code,{children:`warnings`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`success-response-several-agents`,children:`Success Response (several agents)`}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`agentIds`}),`, the response lists the executions that started and the agents that could not start. One agent failing to start does not stop the others.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Agent suite created successfully\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"executions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"executionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"exec_1711900000000_spellcheck\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image-inspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"executionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"exec_1711900000001_imageinspector\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"broken-links\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"already-exists\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_brokenlinks\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.executions`})}),_jsx(_components.td,{children:`object[]`}),_jsxs(_components.td,{children:[`One entry per agent that started, in the order of `,_jsx(_components.code,{children:`agentIds`}),`: `,_jsx(_components.code,{children:`agentId`}),` and `,_jsx(_components.code,{children:`executionId`}),`, plus a `,_jsx(_components.code,{children:`warnings`}),` array when that run started with non-blocking warnings. Poll each `,_jsx(_components.code,{children:`executionId`}),` with `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/agents/execution/get`,children:`Get Execution`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`data.failed`})}),_jsx(_components.td,{children:`object[]`}),_jsxs(_components.td,{children:[`One entry per agent that could not start: `,_jsx(_components.code,{children:`agentId`}),`, `,_jsx(_components.code,{children:`code`}),`, and `,_jsx(_components.code,{children:`message`}),`. `,_jsx(_components.code,{children:`code`}),` is always a lowercase string error code, such as `,_jsx(_components.code,{children:`already-exists`}),`, `,_jsx(_components.code,{children:`invalid-argument`}),` (the agent refuses the `,_jsx(_components.code,{children:`userContext`}),`), `,_jsx(_components.code,{children:`not-found`}),`, `,_jsx(_components.code,{children:`permission-denied`}),`, `,_jsx(_components.code,{children:`resource-exhausted`}),`, or `,_jsx(_components.code,{children:`internal`}),`. `,_jsx(_components.code,{children:`message`}),` is the agent’s own error message when you can act on it (`,_jsx(_components.code,{children:`Agent could not start.`}),` when it has none), and `,_jsx(_components.code,{children:`Agent execution failed.`}),` otherwise.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The request fails only when no agent could start. It then returns the first agent’s error, and `,_jsx(_components.code,{children:`error.details.failed`}),` lists every agent’s failure in the same shape as `,_jsx(_components.code,{children:`data.failed`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_spellcheck\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ALREADY_EXISTS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"already-exists\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Agent execution is already running for this agent+document. Execution ID: exec_1711899990000_spellcheck\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`failure-response`,children:`Failure Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ERROR_MESSAGE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INVALID_ARGUMENT\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Errors:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: invalid URL; neither `,_jsx(_components.code,{children:`agentId`}),` nor `,_jsx(_components.code,{children:`agentIds`}),` (`,_jsx(_components.code,{children:`agentId or agentIds is required`}),`); missing `,_jsx(_components.code,{children:`organizationId`}),` or `,_jsx(_components.code,{children:`documentId`}),`; or an invalid `,_jsx(_components.code,{children:`trigger`}),`, `,_jsx(_components.code,{children:`deviceType`}),`, or `,_jsx(_components.code,{children:`annotationVisibility`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: an `,_jsx(_components.code,{children:`agentIds`}),` list, sent without `,_jsx(_components.code,{children:`agentId`}),`, that names no agent or more than 10 distinct agents (`,_jsx(_components.code,{children:`An agent suite needs between 1 and 10 distinct agentIds.`}),`), or that holds an entry that is not a non-empty string.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: a `,_jsx(_components.code,{children:`urls`}),` list with more than 500 entries, a list where no entry survives normalization (every entry blank, on another host, or not a URL or path), or a `,_jsx(_components.code,{children:`url`}),` that is not a usable `,_jsx(_components.code,{children:`http(s)`}),` URL to resolve the list against.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: an `,_jsx(_components.code,{children:`aiConfig`}),` that is empty, carries an unknown key, names a provider outside `,_jsx(_components.code,{children:`gemini`}),` / `,_jsx(_components.code,{children:`claude`}),` / `,_jsx(_components.code,{children:`openai`}),`, names a model outside the allowlist, supplies an empty `,_jsx(_components.code,{children:`defaultModels`}),`, sets `,_jsx(_components.code,{children:`maxToolTurns`}),` outside `,_jsx(_components.code,{children:`1..16`}),`, or sends a `,_jsx(_components.code,{children:`modelChecks`}),` list that is empty, repeats an entry, or names an unknown check.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: a malformed run-scope key in `,_jsx(_components.code,{children:`userContext`}),`. The message names the key and its rule, for example `,_jsx(_components.code,{children:`userContext.sourcePageUrl must be a non-blank string of at most 4096 characters`}),`, and `,_jsx(_components.code,{children:`error.details.issues`}),` lists every malformed key.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: a `,_jsx(_components.code,{children:`userContext`}),` the agent’s `,_jsx(_components.code,{children:`input.userContextFields`}),` refuse: a missing required field (`,_jsx(_components.code,{children:`Validation failed: Missing required userContext field: \u003cid>`}),`) or a value of another type (`,_jsx(_components.code,{children:`Validation failed: userContext field '\u003cid>' expected type '\u003ctype>', got '\u003cactual>'`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`: a `,_jsx(_components.code,{children:`migration-parity`}),` run without a usable `,_jsx(_components.code,{children:`userContext.liveSiteUrl`}),` (`,_jsx(_components.code,{children:`Migration Parity needs the live site to compare against: send userContext.liveSiteUrl (a full address or a bare domain)`}),`), or whose live site is the run’s own site (`,_jsx(_components.code,{children:`Migration Parity needs a live site other than the project site: userContext.liveSiteUrl names the same site as the run's url`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`NOT_FOUND`}),`: store database not found, or the target document does not exist.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ALREADY_EXISTS`}),`: an execution is already running for this agent and document combination. The error message includes the running execution’s ID. An execution that stopped making progress does not count: the new run ends it with `,_jsx(_components.code,{children:`error.code`}),` `,_jsx(_components.code,{children:`STALE_RUN`}),` and starts.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RESOURCE_EXHAUSTED`}),`: the workspace’s AI credits are exhausted.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INTERNAL`}),`: the run could not be started after its execution was created (`,_jsx(_components.code,{children:`Failed to dispatch agent execution task.`}),`). Every execution the request created ends with status `,_jsx(_components.code,{children:`error`}),` and `,_jsx(_components.code,{children:`error.code`}),` `,_jsx(_components.code,{children:`TASK_DISPATCH_FAILED`}),`. Send the request again.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`agentIds`}),`, an error that concerns one agent, such as `,_jsx(_components.code,{children:`NOT_FOUND`}),`, `,_jsx(_components.code,{children:`ALREADY_EXISTS`}),`, `,_jsx(_components.code,{children:`RESOURCE_EXHAUSTED`}),`, or a `,_jsx(_components.code,{children:`userContext`}),` that agent refuses, appears in `,_jsx(_components.code,{children:`data.failed`}),` and the other agents still start. The request fails with it only when no agent could start. Every other `,_jsx(_components.code,{children:`INVALID_ARGUMENT`}),`, and `,_jsx(_components.code,{children:`INTERNAL`}),`, rejects the whole request.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Run Execution","api":"POST https://api.velt.dev/v2/agents/execution/run","description":null,"href":"/api-reference/rest-apis/v2/agents/execution/run"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[402,406,"ResponseExample,Tabl"],[680,695,"ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingM"],[118976,118985,",`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Agent execution created successfully\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"executionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"exec_1711900000000_abc123def456\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}funct"]]},"mdxExtracts":{"tableOfContents":[{"title":"Endpoint","slug":"endpoint","depth":1,"children":[]},{"title":"Headers","slug":"headers","depth":1,"children":[]},{"title":"Body","slug":"body","depth":1,"children":[{"title":"Params","slug":"params","depth":4,"children":[]}]},{"title":"Example Requests","slug":"example-requests","depth":2,"children":[{"title":"1. Single page execution","slug":"1-single-page-execution","depth":4,"children":[]},{"title":"2. Cross-page execution with user context (mobile)","slug":"2-cross-page-execution-with-user-context-mobile","depth":4,"children":[]},{"title":"3. Workflow-triggered execution","slug":"3-workflow-triggered-execution","depth":4,"children":[]},{"title":"4. Execution with public annotations","slug":"4-execution-with-public-annotations","depth":4,"children":[]},{"title":"5. Pinning a provider and model for one run","slug":"5-pinning-a-provider-and-model-for-one-run","depth":4,"children":[]},{"title":"6. Per-provider model policy across mixed agents","slug":"6-per-provider-model-policy-across-mixed-agents","depth":4,"children":[]},{"title":"7. A list of pages, no crawl","slug":"7-a-list-of-pages-no-crawl","depth":4,"children":[]},{"title":"8. Minimal request","slug":"8-minimal-request","depth":4,"children":[]},{"title":"9. Several agents on one page","slug":"9-several-agents-on-one-page","depth":4,"children":[]},{"title":"10. Recheck some issue types","slug":"10-recheck-some-issue-types","depth":4,"children":[]},{"title":"11. Several agents on several pages","slug":"11-several-agents-on-several-pages","depth":4,"children":[]},{"title":"12. Turn on an optional model check","slug":"12-turn-on-an-optional-model-check","depth":4,"children":[]}]},{"title":"Response","slug":"response","depth":1,"children":[{"title":"Success Response","slug":"success-response","depth":4,"children":[]},{"title":"Success Response (several agents)","slug":"success-response-several-agents","depth":4,"children":[]},{"title":"Failure Response","slug":"failure-response","depth":4,"children":[]}]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"javascript\">\u003ccode language=\"javascript\" numberOfLines=\"9\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"result\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Agent execution created successfully\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"executionId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"exec_1711900000000_abc123def456\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Run Execution","path":"/v2/agents/execution/run","servers":[{"url":"https://api.velt.dev"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"x-velt-api-key":{"schema":[{"type":"string","description":"Your API key.","required":true}]},"x-velt-auth-token":{"schema":[{"type":"string","description":"Your Auth Token .","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"data":[{"type":"object","properties":{"agentId":[{"type":"string","description":"Min 1 char. The agent to run. Send `agentId` to run one agent, or `agentIds` to run several. One of the two is required. When both are sent, `agentId` wins: `agentIds` is ignored and only `agentId` runs."}],"agentIds":[{"type":"array","items":[{"type":"string"}],"description":"Runs several agents in one request, on one page or on several. 1 to 10 distinct agent IDs, each min 1 char. A repeated ID runs once and counts once toward the limit. Each agent gets its own execution, validated and created exactly as a single-agent run, and posts its findings as soon as it finishes. One agent that cannot start does not stop the others. Every other field in the request, including `urls` , `crossPageExecute` , `userContext` , `deviceType` , and `aiConfig` , applies to every agent in the list. Several pages. With a `urls` list of more than one page, or with `crossPageExecute: true` , each agent still gets one execution, and that execution covers every page, as a single-agent run over those pages does. The page list is resolved once for all the agents (your list, or one crawl), and each page is reviewed by all the agents together, so it loads once for them. An execution completes when its last page is processed. Whether a run has one page or several is decided after the `urls` list is normalized, so two spellings of one page are one page. At most 25 pages of one site start at once; the rest start in waves 30 seconds apart. A page that fails, runs out of time, or keeps failing after 3 deliveries is counted as an errored page of each execution it belongs to ( `resultsSummary.urlsErrored` ), and the other pages still count, so the execution ends `partial` rather than `error` when some pages succeed."}],"url":[{"type":"string","description":"Valid URL. The seed URL to process. When `urls` is present, this is the site the list belongs to: relative entries resolve against it and every entry must be on its host. Agents review public pages only. A request to a loopback, link-local, cloud metadata, or private network address (such as `localhost` , `127.0.0.1` , `169.254.169.254` , `10.0.0.5` , `192.168.1.10` , or a `*.local` or `*.internal` host) is refused, whether it is the page itself or something the page loads, so that page or resource does not load.","required":true}],"urls":[{"type":"array","items":[{"type":"string"}],"description":"Review exactly these pages instead of crawling. Max 500 entries. Each entry is an absolute `http(s)` URL or a site-relative path starting with `/` (for example `/s/article?id=101` ), resolved against `url` . `url` stays required and is never replaced by an entry. The engine normalizes entries before the run. It skips blank entries and drops the `#fragment` . It removes the review toolbar query params ( `review` , `feedback` , `sreviewId` , `scommentId` , `sprojectInstall` , `sflivedemo` , `sembed` , `scommentmode` , `sreadonly` , `sagentcomments` , `st` ). It keeps every other query param in the order you sent it, and keeps a trailing slash. The engine drops an entry on another host, an entry that is not a URL or a path ( `site.com/x` , `mailto:` ), and a repeat of an earlier entry. The first occurrence of a page is the one that runs. When `urls` is present, the engine skips the crawler and derives `crossPageExecute` and `maxUrlsToProcess` from the surviving entries. Sending more than 500 entries, a list where nothing survives, or a `url` that is not a usable `http(s)` URL returns `INVALID_ARGUMENT` ."}],"pageListTotal":[{"type":"number","description":"How many pages the source of your `urls` list had before you cut it to fit, for example a sitemap of 1,200 pages sent as 500. Whole number, 1 to 10,000,000. Reporting only: when it is larger than the number of pages the run reviews, the run carries a non-blocking warning, `{ \"code\": \"pages-truncated\", \"pagesTotal\": 1200, \"pagesRun\": 500 }` , in the response’s `warnings` and in the execution’s `warnings` on Get Execution . Ignored without `urls` ."}],"crossPageExecute":[{"type":"boolean","description":"When true, the engine crawls the seed URL and processes up to `maxUrlsToProcess` pages. Default: `false` . Ignored when `urls` is present: it is then `true` when the list has more than one page."}],"maxUrlsToProcess":[{"type":"number","description":"Max URLs to process when `crossPageExecute: true` . Positive integer. Default: 50. Ignored when `urls` is present: it is then the number of pages in the list."}],"deviceType":[{"type":"string","description":"Device mode to emulate for this execution: `\"mobile\"` or `\"desktop\"` . Default: `\"desktop\"` . Drives the Puppeteer viewport/user-agent used by all context-gathering strategies and pin resolution, and sets `pageInfo.deviceInfo.deviceType` on every annotation the execution creates. The `mobile-inspector` built-in agent always runs as `\"mobile\"` , whatever you send, because it measures the page at phone width."}],"organizationId":[{"type":"string","description":"Organization ID. Identifies the organization the execution runs against; findings are persisted to it as comment annotations.","required":true}],"documentId":[{"type":"string","description":"Document ID. The document must already exist (unknown documents return `NOT_FOUND` ); findings are persisted to it as comment annotations.","required":true}],"annotationVisibility":[{"type":"string","description":"Sets who can see the comment annotations this execution creates: `\"public\"` or `\"private\"` . Default: `\"private\"` . With `\"private\"` , each annotation is created with visibility `{ type: \"organizationPrivate\", organizationId }` . Only members and admins of the execution’s organization see the finding pins. With `\"public\"` , each annotation is created with visibility `{ type: \"public\" }` . Anyone with access to the document sees the finding pins, including users outside the organization. These two are the only accepted values; request validation rejects any other string. Omitting the field resolves to `\"private\"` . The execution never overrides an annotation that already carries its own `visibility` ."}],"trigger":[{"type":"string","description":"`\"standalone\"` (default) or `\"workflow\"` . Use `\"workflow\"` when running an agent as part of a Review Workflow Builder workflow node."}],"workflowExecutionId":[{"type":"string","description":"Parent workflow execution ID. Pair with `trigger: \"workflow\"` ."}],"ranBy":[{"type":"object","properties":{},"description":"User who triggered the execution. Field Type Required Description `userId` string yes (if ranBy) User ID `name` string no Display name. Default: `\"\"` . `email` string no Email. Default: `\"\"` ."}],"userContext":[{"type":"object","properties":{},"description":"Runtime values for the agent’s `userContextFields` . Keys must match the field IDs declared in the agent’s `input.userContextFields` . The request is checked against those declarations before any execution is created: a missing required field, or a value of another type, returns `INVALID_ARGUMENT` . A declared field that is missing, `null` , or an empty string takes its `defaultValue` and then satisfies `required` . Some built-in agents also read options from it, such as switching a check off: see Per-run options . `migration-parity` needs `liveSiteUrl` : a run without a usable live site, or with the run’s own site as the live site, returns `INVALID_ARGUMENT` too. Four optional run-scope keys work with every agent, built-in or custom, whatever fields it declares. Leave them out and the run behaves as before. Key Type Effect `focusIssueTypes` string[] Reports and annotates only findings whose `issueType` is in the list, compared case-insensitively. 1 to 50 non-blank entries of at most 100 characters each. A finding without an `issueType` is dropped. Built-in values are listed in Issue types . `sourceAnnotationId` string The comment that asked for the run. Added to every finding’s `agent.reason` as `sourceAnnotationId` , so you can link each finding back to it. `sourcePageUrl` string The page that comment is on. Added to `agent.reason` as `sourcePageUrl` when `sourceAnnotationId` is also set. `sourceElementXpath` string Full positional XPath of the element that comment is pinned on, for example `/html/body/main/section[2]/img` . A finding pinned on the same element of `sourcePageUrl` is dropped, so the run does not repeat the comment. Has no effect without `sourcePageUrl` . The three `source*` keys take non-blank strings of at most 4,096 characters. A focused run is a recheck. With `focusIssueTypes` , the run first removes the agent’s earlier pending suggestions of the listed issue types on the pages it reviewed, then pins the ones still present. Suggestions of other issue types stay. Without `focusIssueTypes` , a run that sets `sourceAnnotationId` replaces only the pending suggestions the agent made earlier from that same comment. This removal never touches a suggestion a user already resolved, or a page the run could not load. It follows the agent’s `postProcess.deletePreviousSuggestions` setting (on by default). The one exception: a `sourceAnnotationId` run without `focusIssueTypes` replaces that comment’s earlier suggestions even when the setting is off. A malformed run-scope key, such as `focusIssueTypes` sent as a string or an empty list, returns `INVALID_ARGUMENT` before any run starts. The message states the rule the key breaks, for example `userContext.focusIssueTypes must be a list of 1 to 50 non-blank issue types of at most 100 characters each` . Two optional run-control keys change how the run runs, not what an agent reports. They also work with every agent. Leave them out and nothing changes. Key Type Effect `forceFullRun` `true` Every agent runs on every page, even where change detection would keep the agent’s previous findings because the page has not changed. `changeDetection` string or `false` `\"off\"` , `\"shadow\"` , or `\"on\"` , or `false` for `\"off\"` . Lowers change detection for this run only, and never raises it. `\"off\"` skips the change check, so the run makes no extra plain HTTP fetch of each page and asks nothing about changed text. Change detection keeps an eligible built-in agent’s previous findings on a page that has not changed since the agent last ran on it, instead of running the agent there. Custom agents, and runs that set `focusIssueTypes` , `sourceAnnotationId` , or `sourcePageUrl` , always run in full. On Velt’s hosted platform, change detection only measures today: every agent still runs on every page. Its check of changed page text counts toward the Proofreader’s daily question limit . Any other value of a run-control key is ignored. Unlike the run-scope keys, these never return `INVALID_ARGUMENT` . These six key names are reserved in `userContext` : Create Agent and Update Agent Version refuse a `userContextFields` entry whose `id` is one of them."}],"aiConfig":[{"type":"object","properties":{},"description":"Per-execution LLM override. Omit it to run on the provider and model the platform resolves for the agent (see the notes below). Field Type Required Description `provider` string no `\"gemini\"` , `\"claude\"` , or `\"openai\"` . Any other value is rejected. Overrides the agent’s own provider for this run. `model` string no Pins one model for this run. Must be on the allowlist (see below). Pair it with `provider` . `defaultModels` object no Per-provider model policy, `{ \"\u003cprovider>\": \"\u003cmodel>\" }` . Each key must be a valid provider and each value must be on that provider’s allowlist. `maxToolTurns` number no Tool-loop turn budget for the `mcp-tools` execution strategy. Integer `1..16` . `modelChecks` string[] no Turns on optional checks that send page content or screenshots to an AI model. These checks are off unless a run turns them on. A non-empty list with no repeated entry. The only value today is `\"image-crop\"` , the Image Inspector’s bad-crop check. An agent’s own option wins: `cropCheck: false` keeps that check off. See Image Inspector . Validation rules specific to this object: Unlike the rest of the request body, `aiConfig` rejects unknown keys. A typo such as `modell` returns `INVALID_ARGUMENT` instead of being silently ignored. At least one of `provider` , `model` , `defaultModels` , `maxToolTurns` , or `modelChecks` must be present. An empty `aiConfig: {}` is rejected with `aiConfig must specify at least one of: provider, model, defaultModels, maxToolTurns, modelChecks` . `defaultModels` cannot be an empty object. `modelChecks` cannot be empty ( `aiConfig.modelChecks cannot be empty` ), and each entry must be a known check ( `aiConfig.modelChecks entries must be one of: image-crop` )."}]},"required":true}]}}],"examples":{"example":{"value":{"data":{"agentId":"\u003cstring>","agentIds":["\u003cstring>"],"url":"\u003cstring>","urls":["\u003cstring>"],"pageListTotal":123,"crossPageExecute":true,"maxUrlsToProcess":123,"deviceType":"\u003cstring>","organizationId":"\u003cstring>","documentId":"\u003cstring>","annotationVisibility":"\u003cstring>","trigger":"\u003cstring>","workflowExecutionId":"\u003cstring>","ranBy":{},"userContext":{},"aiConfig":{}}}}}}}},"response":{},"deprecated":false}},"jsLinks":["/docs/_mintlify/custom/velt/752c38235fc975ab/reb2b-tracking.js","/docs/_mintlify/custom/velt/39475307ed77f9b2/signals-tracking.js"],"subdomain":"velt","siteName":"Velt","title":"Run Execution - Velt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T20:56:02.147Z","originalFileLocation":"api-reference/rest-apis/v2/agents/execution/run.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Velt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run Execution - Velt\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Velt\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026amp;token=9e4502da-66ef-4005-9124-dbc76f04b1fd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Run Execution - Velt\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026amp;token=9e4502da-66ef-4005-9124-dbc76f04b1fd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Velt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#272728\">\u003clink data-mint-head rel=\"canonical\" href=\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/rest-apis/v2/agents/execution/run.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://velt.dev/#organization\",\"name\":\"Velt\",\"url\":\"https://velt.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big-light.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=c75fd62a074f53174a364509b4363fdc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://velt.dev/docs#website\",\"name\":\"Velt\",\"url\":\"https://velt.dev/docs\",\"publisher\":{\"@id\":\"https://velt.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run#webpage\",\"url\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run\",\"name\":\"Run Execution\",\"dateModified\":\"2026-10-29T20:56:02.147Z\",\"isPartOf\":{\"@id\":\"https://velt.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST APIs\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/organizations/add-organizations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"v2\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/organizations/add-organizations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Agents\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/create\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Run Execution\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run#apireference\",\"headline\":\"Run Execution\",\"name\":\"Run Execution\",\"url\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run\",\"mainEntityOfPage\":{\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/agents/execution/run#webpage\"},\"image\":\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd\",\"dateModified\":\"2026-10-29T20:56:02.147Z\",\"publisher\":{\"@id\":\"https://velt.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://velt.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Velt\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Velt","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/get-started/overview"}]},{"tab":"UI Customization","pages":[{"title":"UI Customization","href":"/ui-customization/overview"}]},{"tab":"API Reference","groups":[{"group":"REST APIs","pages":[{"group":"v2","pages":[{"group":"Organizations","pages":[{"title":"Add Organizations","api":"POST https://api.velt.dev/v2/organizations/add","href":"/api-reference/rest-apis/v2/organizations/add-organizations"},{"title":"Get Organizations","api":"POST https://api.velt.dev/v2/organizations/get","href":"/api-reference/rest-apis/v2/organizations/get-organizations-v2"},{"title":"Update Organizations","api":"POST https://api.velt.dev/v2/organizations/update","href":"/api-reference/rest-apis/v2/organizations/update-organizations"},{"title":"Delete Organizations","api":"POST https://api.velt.dev/v2/organizations/delete","href":"/api-reference/rest-apis/v2/organizations/delete-organizations"},{"title":"Update Disabled State for Organizations","api":"POST https://api.velt.dev/v2/organizations/access/disablestate/update","href":"/api-reference/rest-apis/v2/organizations/update-organization-disable-state"}]},{"group":"Folders","pages":[{"title":"Add Folder","api":"POST https://api.velt.dev/v2/organizations/folders/add","href":"/api-reference/rest-apis/v2/folders/add-folder"},{"title":"Get Folders","api":"POST https://api.velt.dev/v2/organizations/folders/get","href":"/api-reference/rest-apis/v2/folders/get-folders"},{"title":"Update Folder","api":"POST https://api.velt.dev/v2/organizations/folders/update","href":"/api-reference/rest-apis/v2/folders/update-folder"},{"title":"Delete Folder","api":"POST https://api.velt.dev/v2/organizations/folders/delete","href":"/api-reference/rest-apis/v2/folders/delete-folder"},{"title":"Update Access for Folders","api":"POST https://api.velt.dev/v2/organizations/folders/access/update","href":"/api-reference/rest-apis/v2/folders/update-folder-access"}]},{"group":"Documents","pages":[{"title":"Add Documents","api":"POST https://api.velt.dev/v2/organizations/documents/add","href":"/api-reference/rest-apis/v2/documents/add-documents"},{"title":"Get Documents","api":"POST https://api.velt.dev/v2/organizations/documents/get","href":"/api-reference/rest-apis/v2/documents/get-documents-v2"},{"title":"Update Documents","api":"POST https://api.velt.dev/v2/organizations/documents/update","href":"/api-reference/rest-apis/v2/documents/update-documents"},{"title":"Delete Documents","api":"POST https://api.velt.dev/v2/organizations/documents/delete","href":"/api-reference/rest-apis/v2/documents/delete-documents"},{"title":"Move Documents","api":"POST https://api.velt.dev/v2/organizations/documents/move","href":"/api-reference/rest-apis/v2/documents/move-documents"},{"title":"Migrate Documents","api":"POST https://api.velt.dev/v2/organizations/documents/migrate","href":"/api-reference/rest-apis/v2/documents/migrate-documents"},{"title":"Migrate Documents Status","api":"POST https://api.velt.dev/v2/organizations/documents/migrate/status","href":"/api-reference/rest-apis/v2/documents/migrate-documents-status"},{"title":"Update Access for Documents","api":"POST https://api.velt.dev/v2/organizations/documents/access/update","href":"/api-reference/rest-apis/v2/documents/update-document-access"},{"title":"Update Disabled State for Documents","api":"POST https://api.velt.dev/v2/organizations/documents/access/disablestate/update","href":"/api-reference/rest-apis/v2/documents/update-document-disable-state"}]},{"group":"Users","pages":[{"title":"Add Users","api":"POST https://api.velt.dev/v2/users/add","href":"/api-reference/rest-apis/v2/users/add-users"},{"title":"Get Users","api":"POST https://api.velt.dev/v2/users/get","href":"/api-reference/rest-apis/v2/users/get-users-v2"},{"title":"Update Users","api":"POST https://api.velt.dev/v2/users/update","href":"/api-reference/rest-apis/v2/users/update-users"},{"title":"Delete Users","api":"POST https://api.velt.dev/v2/users/delete","href":"/api-reference/rest-apis/v2/users/delete-users"}]},{"group":"User Groups","pages":[{"title":"Add User Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/add","href":"/api-reference/rest-apis/v2/user-groups/add-groups"},{"title":"Add Users to Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/users/add","href":"/api-reference/rest-apis/v2/user-groups/add-users-to-group"},{"title":"Delete Users from Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/users/delete","href":"/api-reference/rest-apis/v2/user-groups/delete-users-from-group"}]},{"group":"Comments Feature","pages":[{"group":"Comments Annotations","pages":[{"title":"Add Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/add","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations"},{"title":"Get Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/get","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2"},{"title":"Update Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/update","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/update-comment-annotations"},{"title":"Delete Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/delete","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/delete-comment-annotations"},{"title":"Get Comment Annotations Count","api":"POST https://api.velt.dev/v2/commentannotations/count/get","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-count"}]},{"group":"Comments","pages":[{"title":"Add Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/add","href":"/api-reference/rest-apis/v2/comments-feature/comments/add-comments"},{"title":"Get Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/get","href":"/api-reference/rest-apis/v2/comments-feature/comments/get-comments"},{"title":"Update Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/update","href":"/api-reference/rest-apis/v2/comments-feature/comments/update-comments"},{"title":"Delete Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/delete","href":"/api-reference/rest-apis/v2/comments-feature/comments/delete-comments"}]}]},{"group":"Notifications","pages":[{"title":"Add Notifications","api":"POST https://api.velt.dev/v2/notifications/add","href":"/api-reference/rest-apis/v2/notifications/add-notifications"},{"title":"Get Notifications","api":"POST https://api.velt.dev/v2/notifications/get","href":"/api-reference/rest-apis/v2/notifications/get-notifications-v2"},{"title":"Update Notifications","api":"POST https://api.velt.dev/v2/notifications/update","href":"/api-reference/rest-apis/v2/notifications/update-notifications"},{"title":"Delete Notifications","api":"POST https://api.velt.dev/v2/notifications/delete","href":"/api-reference/rest-apis/v2/notifications/delete-notifications"},{"title":"Set Config","api":"POST https://api.velt.dev/v2/notifications/config/set","href":"/api-reference/rest-apis/v2/notifications/set-config"},{"title":"Get Config","api":"POST https://api.velt.dev/v2/notifications/config/get","href":"/api-reference/rest-apis/v2/notifications/get-config"}]},{"group":"Activity Logs","pages":[{"title":"Add Activity Logs","api":"POST https://api.velt.dev/v2/activities/add","href":"/api-reference/rest-apis/v2/activities/add-activities"},{"title":"Get Activity Logs","api":"POST https://api.velt.dev/v2/activities/get","href":"/api-reference/rest-apis/v2/activities/get-activities"},{"title":"Update Activity Logs","api":"POST https://api.velt.dev/v2/activities/update","href":"/api-reference/rest-apis/v2/activities/update-activities"},{"title":"Delete Activity Logs","api":"POST https://api.velt.dev/v2/activities/delete","href":"/api-reference/rest-apis/v2/activities/delete-activities"}]},{"group":"Recordings","pages":[{"title":"Get Recordings","api":"POST https://api.velt.dev/v2/recordings/get","href":"/api-reference/rest-apis/v2/recordings/get-recordings"}]},{"group":"GDPR","pages":[{"title":"Get All User Data","api":"POST https://api.velt.dev/v2/users/data/get","href":"/api-reference/rest-apis/v2/gdpr/get-all-user-data-gdpr"},{"title":"Delete All User Data","api":"POST https://api.velt.dev/v2/users/data/delete","href":"/api-reference/rest-apis/v2/gdpr/delete-all-user-data-gdpr"},{"title":"Get Delete All User Data Status","api":"POST https://api.velt.dev/v2/users/data/delete/status","href":"/api-reference/rest-apis/v2/gdpr/get-delete-user-data-status-gdpr"}]},{"group":"Access Control","pages":[{"title":"Generate Token","api":"POST https://api.velt.dev/v2/auth/generate_token","href":"/api-reference/rest-apis/v2/auth/generate-token"},{"title":"Add Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/add","href":"/api-reference/rest-apis/v2/auth/add-permissions"},{"title":"Get Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/get","href":"/api-reference/rest-apis/v2/auth/get-permissions"},{"title":"Remove Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/remove","href":"/api-reference/rest-apis/v2/auth/remove-permissions"}]},{"group":"CRDT","pages":[{"title":"Get CRDT Data","api":"POST https://api.velt.dev/v2/crdt/get","href":"/api-reference/rest-apis/v2/crdt/get-crdt-data"},{"title":"Add CRDT Data","api":"POST https://api.velt.dev/v2/crdt/add","href":"/api-reference/rest-apis/v2/crdt/add-crdt-data"},{"title":"Update CRDT Data","api":"POST https://api.velt.dev/v2/crdt/update","href":"/api-reference/rest-apis/v2/crdt/update-crdt-data"}]},{"group":"Live State","pages":[{"title":"Broadcast Event","api":"POST https://api.velt.dev/v2/livestate/broadcast","href":"/api-reference/rest-apis/v2/livestate/broadcast-event"}]},{"group":"Presence","pages":[{"title":"Add Presence","api":"POST https://api.velt.dev/v2/presence/add","href":"/api-reference/rest-apis/v2/presence/add-presence"},{"title":"Update Presence","api":"POST https://api.velt.dev/v2/presence/update","href":"/api-reference/rest-apis/v2/presence/update-presence"},{"title":"Delete Presence","api":"POST https://api.velt.dev/v2/presence/delete","href":"/api-reference/rest-apis/v2/presence/delete-presence"}]},{"group":"Rewriter","pages":[{"title":"Ask AI","api":"POST https://api.velt.dev/v2/rewriter/ask-ai","href":"/api-reference/rest-apis/v2/rewriter/ask-ai"}]},{"group":"Review Workflow Builder","pages":[{"group":"Definitions","pages":[{"title":"Create Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/create","href":"/api-reference/rest-apis/v2/approval-engine/definitions/create-definition"},{"title":"Update Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/update","href":"/api-reference/rest-apis/v2/approval-engine/definitions/update-definition"},{"title":"Delete Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/delete","href":"/api-reference/rest-apis/v2/approval-engine/definitions/delete-definition"},{"title":"Get Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/get","href":"/api-reference/rest-apis/v2/approval-engine/definitions/get-definition"},{"title":"List Definitions","api":"POST https://api.velt.dev/v2/workflow/definitions/list","href":"/api-reference/rest-apis/v2/approval-engine/definitions/list-definitions"}]},{"group":"Executions","pages":[{"title":"Dispatch Execution","api":"POST https://api.velt.dev/v2/workflow/executions/dispatch","href":"/api-reference/rest-apis/v2/approval-engine/executions/dispatch-execution"},{"title":"Get Execution","api":"POST https://api.velt.dev/v2/workflow/executions/get","href":"/api-reference/rest-apis/v2/approval-engine/executions/get-execution"},{"title":"Cancel Execution","api":"POST https://api.velt.dev/v2/workflow/executions/cancel","href":"/api-reference/rest-apis/v2/approval-engine/executions/cancel-execution"},{"title":"Get Execution Events","api":"POST https://api.velt.dev/v2/workflow/executions/getEvents","href":"/api-reference/rest-apis/v2/approval-engine/executions/get-execution-events"},{"title":"List Executions","api":"POST https://api.velt.dev/v2/workflow/executions/list","href":"/api-reference/rest-apis/v2/approval-engine/executions/list-executions"}]},{"group":"Steps","pages":[{"title":"Record Reviewer Decision","api":"POST https://api.velt.dev/v2/workflow/steps/recordReviewerDecision","href":"/api-reference/rest-apis/v2/approval-engine/steps/record-reviewer-decision"},{"title":"Record Agent Resolution","api":"POST https://api.velt.dev/v2/workflow/steps/recordAgentResolution","href":"/api-reference/rest-apis/v2/approval-engine/steps/record-agent-resolution"},{"title":"Cancel Step","api":"POST https://api.velt.dev/v2/workflow/steps/cancel","href":"/api-reference/rest-apis/v2/approval-engine/steps/cancel-step"},{"title":"Resolve Step","api":"POST https://api.velt.dev/v2/workflow/steps/resolve","href":"/api-reference/rest-apis/v2/approval-engine/steps/resolve-step"}]}]},{"group":"Agents","pages":[{"title":"Create Agent","api":"POST https://api.velt.dev/v2/agents/create","href":"/api-reference/rest-apis/v2/agents/create"},{"title":"Get Agent(s)","api":"POST https://api.velt.dev/v2/agents/get","href":"/api-reference/rest-apis/v2/agents/get"},{"title":"Update Agent (Identity)","api":"POST https://api.velt.dev/v2/agents/update","href":"/api-reference/rest-apis/v2/agents/update"},{"title":"Delete Agent","api":"POST https://api.velt.dev/v2/agents/delete","href":"/api-reference/rest-apis/v2/agents/delete"},{"title":"Extract Agents from File","api":"POST https://api.velt.dev/v2/agents/extract","href":"/api-reference/rest-apis/v2/agents/extract"},{"group":"Versioning","pages":[{"title":"Update Agent Version","api":"POST https://api.velt.dev/v2/agents/version/update","href":"/api-reference/rest-apis/v2/agents/version/update"},{"title":"List Agent Versions","api":"POST https://api.velt.dev/v2/agents/versions/list","href":"/api-reference/rest-apis/v2/agents/versions/list"},{"title":"Restore Agent Version","api":"POST https://api.velt.dev/v2/agents/versions/restore","description":null,"href":"/api-reference/rest-apis/v2/agents/versions/restore"}]},{"group":"Execution","pages":[{"title":"Run Execution","api":"POST https://api.velt.dev/v2/agents/execution/run","href":"/api-reference/rest-apis/v2/agents/execution/run"},{"title":"Get Execution","api":"POST https://api.velt.dev/v2/agents/execution/get","description":null,"href":"/api-reference/rest-apis/v2/agents/execution/get"},{"title":"List Executions","api":"POST https://api.velt.dev/v2/agents/execution/list","href":"/api-reference/rest-apis/v2/agents/execution/list"},{"title":"Count Executions","api":"POST https://api.velt.dev/v2/agents/execution/count","href":"/api-reference/rest-apis/v2/agents/execution/count"}]},{"group":"Fix It Everywhere","pages":[{"title":"Estimate Fix It Everywhere","api":"POST https://api.velt.dev/v2/agents/fix-it-everywhere/estimate","href":"/api-reference/rest-apis/v2/agents/fix-it-everywhere/estimate"}]},{"group":"Prompt","pages":[{"title":"Enhance Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/enhance","href":"/api-reference/rest-apis/v2/agents/prompt/enhance"},{"title":"Validate Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/validate","href":"/api-reference/rest-apis/v2/agents/prompt/validate"},{"title":"Refine Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/refine","href":"/api-reference/rest-apis/v2/agents/prompt/refine"}]},{"group":"Config","pages":[{"title":"Resolve Config","api":"POST https://api.velt.dev/v2/agents/config/resolve","href":"/api-reference/rest-apis/v2/agents/config/resolve"}]},{"group":"Analytics","pages":[{"title":"Get Agent Analytics","api":"POST https://api.velt.dev/v2/agents/analytics/get","href":"/api-reference/rest-apis/v2/agents/analytics/get"}]},{"group":"Groups","pages":[{"title":"Create Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/create","href":"/api-reference/rest-apis/v2/agents/groups/create"},{"title":"Get Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/get","href":"/api-reference/rest-apis/v2/agents/groups/get"},{"title":"List Agent Groups","api":"POST https://api.velt.dev/v2/agents/groups/list","href":"/api-reference/rest-apis/v2/agents/groups/list"},{"title":"Update Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/update","href":"/api-reference/rest-apis/v2/agents/groups/update"},{"title":"Delete Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/delete","href":"/api-reference/rest-apis/v2/agents/groups/delete"},{"title":"Add Agents to Group","api":"POST https://api.velt.dev/v2/agents/groups/add-agents","href":"/api-reference/rest-apis/v2/agents/groups/add-agents"},{"title":"Remove Agents from Group","api":"POST https://api.velt.dev/v2/agents/groups/remove-agents","href":"/api-reference/rest-apis/v2/agents/groups/remove-agents"}]},{"group":"Checks","pages":[{"title":"Checks Overview","href":"/api-reference/rest-apis/v2/agents/checks/overview"},{"title":"List Checks","api":"POST https://api.velt.dev/v2/agents/checks/list","href":"/api-reference/rest-apis/v2/agents/checks/list"},{"title":"List Check Comments","api":"POST https://api.velt.dev/v2/agents/checks/comments/list","href":"/api-reference/rest-apis/v2/agents/checks/comments/list"},{"title":"Get Site Score","api":"POST https://api.velt.dev/v2/agents/checks/score/get","href":"/api-reference/rest-apis/v2/agents/checks/score/get"},{"title":"Get Capture Focus","api":"POST https://api.velt.dev/v2/agents/checks/capture-focus/get","href":"/api-reference/rest-apis/v2/agents/checks/capture-focus/get"},{"title":"Get Source Location","api":"POST https://api.velt.dev/v2/agents/checks/source-location/get","href":"/api-reference/rest-apis/v2/agents/checks/source-location/get"},{"title":"Resolve Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/resolve","href":"/api-reference/rest-apis/v2/agents/checks/comments/resolve"},{"title":"Resolve Check","api":"POST https://api.velt.dev/v2/agents/checks/resolve","href":"/api-reference/rest-apis/v2/agents/checks/resolve"},{"title":"Reject Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/reject","href":"/api-reference/rest-apis/v2/agents/checks/comments/reject"},{"title":"Reopen Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/reopen","href":"/api-reference/rest-apis/v2/agents/checks/comments/reopen"},{"title":"Exclude Check","api":"POST https://api.velt.dev/v2/agents/checks/exclude","href":"/api-reference/rest-apis/v2/agents/checks/exclude"},{"title":"Include Check","api":"POST https://api.velt.dev/v2/agents/checks/include","href":"/api-reference/rest-apis/v2/agents/checks/include"},{"title":"Set Check Owner","api":"POST https://api.velt.dev/v2/agents/checks/owner/set","href":"/api-reference/rest-apis/v2/agents/checks/owner/set"},{"title":"Get Check Settings","api":"POST https://api.velt.dev/v2/agents/checks/settings/get","href":"/api-reference/rest-apis/v2/agents/checks/settings/get"},{"title":"Update Check Settings","api":"POST https://api.velt.dev/v2/agents/checks/settings/update","href":"/api-reference/rest-apis/v2/agents/checks/settings/update"},{"title":"Attach Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/attach","href":"/api-reference/rest-apis/v2/agents/checks/comments/attach"},{"title":"Detach Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/detach","href":"/api-reference/rest-apis/v2/agents/checks/comments/detach"},{"title":"List Rescan Agents","api":"POST https://api.velt.dev/v2/agents/checks/rescan-agents/list","href":"/api-reference/rest-apis/v2/agents/checks/rescan-agents/list"}]}]},{"group":"Memory","pages":[{"group":"Search and Ask","pages":[{"title":"Search Judgments","api":"POST https://api.velt.dev/v2/memory/search","href":"/api-reference/rest-apis/v2/memory/search"},{"title":"Ask Memory","api":"POST https://api.velt.dev/v2/memory/ask","href":"/api-reference/rest-apis/v2/memory/ask"},{"title":"Suggest Decision","api":"POST https://api.velt.dev/v2/memory/suggest","href":"/api-reference/rest-apis/v2/memory/suggest"},{"title":"Query Judgments","api":"POST https://api.velt.dev/v2/memory/judgments/query","href":"/api-reference/rest-apis/v2/memory/judgments/query"}]},{"group":"Knowledge","pages":[{"title":"Ingest Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/ingest","href":"/api-reference/rest-apis/v2/memory/knowledge/ingest"},{"title":"Get Ingest Status","api":"POST https://api.velt.dev/v2/memory/knowledge/ingest-status","href":"/api-reference/rest-apis/v2/memory/knowledge/ingest-status"},{"title":"Get Upload URL","api":"POST https://api.velt.dev/v2/memory/knowledge/upload-url","href":"/api-reference/rest-apis/v2/memory/knowledge/upload-url"},{"title":"Search Knowledge Base","api":"POST https://api.velt.dev/v2/memory/knowledge/search","href":"/api-reference/rest-apis/v2/memory/knowledge/search"},{"title":"List Knowledge Sources","api":"POST https://api.velt.dev/v2/memory/knowledge/list","href":"/api-reference/rest-apis/v2/memory/knowledge/list"},{"title":"List Extracted Rules","api":"POST https://api.velt.dev/v2/memory/knowledge/rules","href":"/api-reference/rest-apis/v2/memory/knowledge/rules"},{"title":"Update Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/update","href":"/api-reference/rest-apis/v2/memory/knowledge/update"},{"title":"Download Canonical Markdown","api":"POST https://api.velt.dev/v2/memory/knowledge/download","href":"/api-reference/rest-apis/v2/memory/knowledge/download"},{"title":"Delete Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/delete","href":"/api-reference/rest-apis/v2/memory/knowledge/delete"}]},{"group":"Insights","pages":[{"title":"Get Reviewer Profile","api":"POST https://api.velt.dev/v2/memory/profiles/get","href":"/api-reference/rest-apis/v2/memory/profiles/get"},{"title":"Get Patterns","api":"POST https://api.velt.dev/v2/memory/patterns/get","href":"/api-reference/rest-apis/v2/memory/patterns/get"},{"title":"Get Stats","api":"POST https://api.velt.dev/v2/memory/stats/get","href":"/api-reference/rest-apis/v2/memory/stats/get"}]},{"group":"Alerts","pages":[{"title":"List Alerts","api":"POST https://api.velt.dev/v2/memory/alerts/list","href":"/api-reference/rest-apis/v2/memory/alerts/list"},{"title":"Dismiss Alert","api":"POST https://api.velt.dev/v2/memory/alerts/dismiss","href":"/api-reference/rest-apis/v2/memory/alerts/dismiss"},{"title":"Mark Alert Actioned","api":"POST https://api.velt.dev/v2/memory/alerts/action","href":"/api-reference/rest-apis/v2/memory/alerts/action"},{"title":"Get Alert Config","api":"POST https://api.velt.dev/v2/memory/alerts/config/get","href":"/api-reference/rest-apis/v2/memory/alerts/config/get"},{"title":"Update Alert Config","api":"POST https://api.velt.dev/v2/memory/alerts/config/update","href":"/api-reference/rest-apis/v2/memory/alerts/config/update"}]}]},{"group":"Workspace","pages":[{"group":"Account Creation and Verification","pages":[{"title":"Create Workspace","api":"POST https://api.velt.dev/v2/workspace/create","href":"/api-reference/rest-apis/v2/workspace/create"},{"title":"Get Workspace","api":"POST https://api.velt.dev/v2/workspace/get","href":"/api-reference/rest-apis/v2/workspace/get"},{"title":"Get Email Verification Status","api":"POST https://api.velt.dev/v2/workspace/email/status","href":"/api-reference/rest-apis/v2/workspace/email-status"},{"title":"Send Login Link","api":"POST https://api.velt.dev/v2/workspace/email/send-login-link","href":"/api-reference/rest-apis/v2/workspace/send-login-link"}]},{"group":"API Key Management","pages":[{"title":"Create API Key","api":"POST https://api.velt.dev/v2/workspace/apikey/create","href":"/api-reference/rest-apis/v2/workspace/apikey-create"},{"title":"Get API Keys","api":"POST https://api.velt.dev/v2/workspace/apikeys/get","href":"/api-reference/rest-apis/v2/workspace/apikeys-get"},{"title":"Update API Key","api":"POST https://api.velt.dev/v2/workspace/apikey/update","href":"/api-reference/rest-apis/v2/workspace/apikey-update"}]},{"group":"API Key Configuration","pages":[{"title":"Get API Key Config","api":"POST https://api.velt.dev/v2/workspace/apikeyconfig/get","href":"/api-reference/rest-apis/v2/workspace/apikeyconfig-get"},{"title":"Update API Key Config","api":"POST https://api.velt.dev/v2/workspace/apikeyconfig/update","href":"/api-reference/rest-apis/v2/workspace/apikeyconfig-update"}]},{"group":"Auth Tokens","pages":[{"title":"Get Auth Tokens","api":"POST https://api.velt.dev/v2/workspace/authtokens/get","href":"/api-reference/rest-apis/v2/workspace/authtokens-get"},{"title":"Reset Auth Token","api":"POST https://api.velt.dev/v2/workspace/authtoken/reset","href":"/api-reference/rest-apis/v2/workspace/authtoken-reset"}]},{"group":"Manage Domains","pages":[{"title":"Add Domains","api":"POST https://api.velt.dev/v2/workspace/domains/add","href":"/api-reference/rest-apis/v2/workspace/add-domain"},{"title":"Delete Domains","api":"POST https://api.velt.dev/v2/workspace/domains/delete","href":"/api-reference/rest-apis/v2/workspace/delete-domain"},{"title":"Get Domains","api":"POST https://api.velt.dev/v2/workspace/domains/get","href":"/api-reference/rest-apis/v2/workspace/domains-get"}]},{"group":"Email Notifications Configuration","pages":[{"title":"Get Email Config","api":"POST https://api.velt.dev/v2/workspace/emailconfig/get","href":"/api-reference/rest-apis/v2/workspace/emailconfig-get"},{"title":"Update Email Config","api":"POST https://api.velt.dev/v2/workspace/emailconfig/update","href":"/api-reference/rest-apis/v2/workspace/emailconfig-update"}]},{"group":"Basic Webhooks","pages":[{"title":"Get Webhook Config","api":"POST https://api.velt.dev/v2/workspace/webhookconfig/get","href":"/api-reference/rest-apis/v2/workspace/webhookconfig-get"},{"title":"Update Webhook Config","api":"POST https://api.velt.dev/v2/workspace/webhookconfig/update","href":"/api-reference/rest-apis/v2/workspace/webhookconfig-update"}]},{"group":"Advanced Webhooks","pages":[{"title":"Get Advanced Webhook Config","api":"POST https://api.velt.dev/v2/workspace/advancedwebhookconfig/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhookconfig-get"},{"title":"Update Advanced Webhook Config","api":"POST https://api.velt.dev/v2/workspace/advancedwebhookconfig/update","href":"/api-reference/rest-apis/v2/workspace/advancedwebhookconfig-update"},{"title":"Create Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/create","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-create"},{"title":"Get Advanced Webhook Endpoints","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-get"},{"title":"Update Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-update"},{"title":"Delete Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/delete","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-delete"},{"title":"Get Advanced Webhook Endpoint Secret","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-secret-get"}]},{"group":"Activity Configuration","pages":[{"title":"Get Activity Config","api":"POST https://api.velt.dev/v2/workspace/activityconfig/get","href":"/api-reference/rest-apis/v2/workspace/activityconfig-get"},{"title":"Update Activity Config","api":"POST https://api.velt.dev/v2/workspace/activityconfig/update","href":"/api-reference/rest-apis/v2/workspace/activityconfig-update"}]},{"group":"Notification Configuration","pages":[{"title":"Get Notification Config","api":"POST https://api.velt.dev/v2/workspace/notificationconfig/get","href":"/api-reference/rest-apis/v2/workspace/notificationconfig-get"},{"title":"Update Notification Config","api":"POST https://api.velt.dev/v2/workspace/notificationconfig/update","href":"/api-reference/rest-apis/v2/workspace/notificationconfig-update"}]},{"group":"Permission Provider Configuration","pages":[{"title":"Get Permission Provider Config","api":"POST https://api.velt.dev/v2/workspace/permissionproviderconfig/get","href":"/api-reference/rest-apis/v2/workspace/permissionproviderconfig-get"},{"title":"Update Permission Provider Config","api":"POST https://api.velt.dev/v2/workspace/permissionproviderconfig/update","href":"/api-reference/rest-apis/v2/workspace/permissionproviderconfig-update"}]}]}]},{"group":"v1","pages":[{"group":"Organizations","pages":[{"title":"Add Organizations","api":"POST https://api.velt.dev/v1/organizations/add","href":"/api-reference/rest-apis/v1/organizations/add-organizations"},{"title":"Get Organizations","api":"POST https://api.velt.dev/v1/organizations/get","href":"/api-reference/rest-apis/v1/organizations/get-organizations"},{"title":"Update Organizations","api":"POST https://api.velt.dev/v1/organizations/update","href":"/api-reference/rest-apis/v1/organizations/update-organizations"},{"title":"Delete Organizations","api":"POST https://api.velt.dev/v1/organizations/delete","href":"/api-reference/rest-apis/v1/organizations/delete-organizations"},{"title":"Update Disabled State for Organizations","api":"POST https://api.velt.dev/v1/organizations/access/disablestate/update","href":"/api-reference/rest-apis/v1/organizations/update-organization-disable-state"}]},{"group":"Folders","pages":[{"title":"Add Folder","api":"POST https://api.velt.dev/v1/organizations/folders/add","href":"/api-reference/rest-apis/v1/folders/add-folder"},{"title":"Get Folders","api":"POST https://api.velt.dev/v1/organizations/folders/get","href":"/api-reference/rest-apis/v1/folders/get-folders"},{"title":"Update Folder","api":"POST https://api.velt.dev/v1/organizations/folders/update","href":"/api-reference/rest-apis/v1/folders/update-folder"},{"title":"Update Access for Folders","api":"POST https://api.velt.dev/v1/organizations/folders/access/update","href":"/api-reference/rest-apis/v1/folders/update-folder-access"}]},{"group":"Documents","pages":[{"title":"Add Documents","api":"POST https://api.velt.dev/v1/organizations/documents/add","href":"/api-reference/rest-apis/v1/documents/add-documents"},{"title":"Get Documents","api":"POST https://api.velt.dev/v1/organizations/documents/get","href":"/api-reference/rest-apis/v1/documents/get-documents"},{"title":"Update Documents","api":"POST https://api.velt.dev/v1/organizations/documents/update","href":"/api-reference/rest-apis/v1/documents/update-documents"},{"title":"Delete Documents","api":"POST https://api.velt.dev/v1/organizations/documents/delete","href":"/api-reference/rest-apis/v1/documents/delete-documents"},{"title":"Move Documents","api":"POST https://api.velt.dev/v1/organizations/documents/move","href":"/api-reference/rest-apis/v1/documents/move-documents"},{"title":"Update Access for Documents","api":"POST https://api.velt.dev/v1/organizations/documents/access/update","href":"/api-reference/rest-apis/v1/documents/update-document-access"},{"title":"Update Disabled State for Documents","api":"POST https://api.velt.dev/v1/organizations/documents/access/disablestate/update","href":"/api-reference/rest-apis/v1/documents/update-document-disable-state"}]},{"group":"Users","pages":[{"title":"Add Users","api":"POST https://api.velt.dev/v1/users/add","href":"/api-reference/rest-apis/v1/users/add-users"},{"title":"Get Users","api":"POST https://api.velt.dev/v1/users/get","href":"/api-reference/rest-apis/v1/users/get-users"},{"title":"Update Users","api":"POST https://api.velt.dev/v1/users/update","href":"/api-reference/rest-apis/v1/users/update-users"},{"title":"Delete Users","api":"POST https://api.velt.dev/v1/users/delete","href":"/api-reference/rest-apis/v1/users/delete-users"}]},{"group":"User Groups","pages":[{"title":"Add User Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/add","href":"/api-reference/rest-apis/v1/user-groups/add-groups"},{"title":"Add Users to Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/users/add","href":"/api-reference/rest-apis/v1/user-groups/add-users-to-group"},{"title":"Delete Users from Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/users/delete","href":"/api-reference/rest-apis/v1/user-groups/delete-users-from-group"}]},{"group":"Comments Feature","pages":[{"group":"Comments Annotations","pages":[{"title":"Add Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/add","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/add-comment-annotations"},{"title":"Get Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/get","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/get-comment-annotations"},{"title":"Update Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/update","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/update-comment-annotations"},{"title":"Delete Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/delete","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/delete-comment-annotations"},{"title":"Get Comment Annotations Count","api":"POST https://api.velt.dev/v1/commentannotations/count/get","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/get-comment-annotations-count"}]},{"group":"Comments","pages":[{"title":"Add Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/add","href":"/api-reference/rest-apis/v1/comments-feature/comments/add-comments"},{"title":"Get Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/get","href":"/api-reference/rest-apis/v1/comments-feature/comments/get-comments"},{"title":"Update Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/update","href":"/api-reference/rest-apis/v1/comments-feature/comments/update-comments"},{"title":"Delete Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/delete","href":"/api-reference/rest-apis/v1/comments-feature/comments/delete-comments"}]}]},{"group":"Notifications","pages":[{"title":"Add Notifications","api":"POST https://api.velt.dev/v1/notifications/add","href":"/api-reference/rest-apis/v1/notifications/add-notifications"},{"title":"Get Notifications","api":"POST https://api.velt.dev/v1/notifications/get","href":"/api-reference/rest-apis/v1/notifications/get-notifications"},{"title":"Update Notifications","api":"POST https://api.velt.dev/v1/notifications/update","href":"/api-reference/rest-apis/v1/notifications/update-notifications"},{"title":"Delete Notifications","api":"POST https://api.velt.dev/v1/notifications/delete","href":"/api-reference/rest-apis/v1/notifications/delete-notifications"},{"title":"Set Config","api":"POST https://api.velt.dev/v1/notifications/config/set","href":"/api-reference/rest-apis/v1/notifications/set-config"},{"title":"Get Config","api":"POST https://api.velt.dev/v1/notifications/config/get","href":"/api-reference/rest-apis/v1/notifications/get-config"}]},{"group":"Access Control","pages":[{"title":"Generate Token","api":"POST https://api.velt.dev/v1/auth/token/get","href":"/api-reference/rest-apis/v1/auth/generate-token"}]},{"group":"GDPR","pages":[{"title":"Get All User Data","api":"POST https://api.velt.dev/v1/users/data/get","href":"/api-reference/rest-apis/v1/gdpr/get-all-user-data-gdpr"},{"title":"Delete All User Data","api":"POST https://api.velt.dev/v1/users/data/delete","href":"/api-reference/rest-apis/v1/gdpr/delete-all-user-data-gdpr"},{"title":"Get Delete All User Data Status","api":"POST https://api.velt.dev/v1/users/data/delete/status","href":"/api-reference/rest-apis/v1/gdpr/get-delete-user-data-status-gdpr"}]},{"group":"Live State","pages":[{"title":"Broadcast Event","api":"POST https://api.velt.dev/v1/livestate/broadcast","href":"/api-reference/rest-apis/v1/livestate/broadcast-event"}]},{"group":"Workspace","pages":[{"title":"Add Domains","api":"POST https://api.velt.dev/v1/workspace/domains/add","href":"/api-reference/rest-apis/v1/workspace/add-domain"},{"title":"Delete Domains","api":"POST https://api.velt.dev/v1/workspace/domains/delete","href":"/api-reference/rest-apis/v1/workspace/delete-domain"}]}]}]},{"group":"SDK","pages":[{"group":"APIs","pages":[{"title":"API Methods Index","href":"/api-reference/sdk/api/api-methods"},{"title":"React Hooks Index","href":"/api-reference/sdk/api/react-hooks"}]},{"title":null,"href":"/api-reference/sdk/models/data-models"}]}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/version-6/sdk-changelog"}]},{"tab":"Examples","href":"https://velt.dev/examples"},{"tab":"DevTools","href":"https://velt.dev/devtools"}]},"basePath":"","title":"Run Execution - Velt","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-CNqlzjVB.js","utils-BqFiXZ79.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CnR4QBe6.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BY2ZM1OO.js","snippetPresets-x-8ACO8V.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ch-SJE05.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CqqG_0NE.js","shallow-BXrZ2b0C.js","getApiPlaygroundDisplay-n7J_wkjq.js","CodeSnippet-CQsp4vyQ.js","CodeSnippets-BfuHqvZx.js","Page-CTxrMSpo.js","getPastedJson-BjrGIK1i.js","icon-7iLZnVOC.js","MethodPill-TBS1m84e.js","DuplicateIcon-BNMrV4Vs.js","createIcon-C5kCqeU2.js","DynamicMarkdown-Bq09mRwR.js","SectionHeading-G4Bflf5Q.js","axios-vUo_bRtp.js"]}