Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://crevio.co
Added "get_file_download_url" and "list_audit_events"; changed the definition of "ask_crevio", "cancel_run", "cancel_script_run" and 10 more (18 tools before, 20 now)
⟨94 unchanged words⟩ "maxLength":10000,"type":"string"},"response_format":{"description":"Ask for a JSON reply instead of prose: a JSON Schema, or OpenAI's {type: \"json_schema\", json_schema: {schema}}. The settled run then carries the parsed value in `json`, validated against the schema, or why it failed in `json_error`.","type":"object"},"speed":{"description":"faster thinks less, ⟨70 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨7 unchanged words⟩ on the account's computer.","properties":{"artifacts":{"description":"Files the script wrote to outputDir.","items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"calls":{"description":"Every tool call the ⟨128 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨7 unchanged words⟩ on the account's computer.","properties":{"artifacts":{"description":"Files the script wrote to outputDir.","items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"calls":{"description":"Every tool call the ⟨128 unchanged words⟩
⟨9 unchanged words⟩ jobs and scheduled tasks alike. Filter by status, task, ortask.chat.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"chat_id":{"description":"Only the runs of this chat (aichat_...): its first run and every send_message after it. A run id works too.","type":"string"},"ending_before":{"description":"Return the page before ⟨72 unchanged words⟩
⟨25 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨116 unchanged words⟩ At most 4 runs in flight per user. `args` reach the script as the global `args` (and process.argv). Files the script writes into the directory named by the global `outputDir` (20 at most, 50 MB each) come back as `artifacts`; get a download link with get_file_download_url.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"args":{"description":"Values the script reads from the global `args`.","items":{"maxLength":2000,"type":"string"},"maxItems":16,"type":"array"},"code":{"description":"The JavaScript to run. ⟨106 unchanged words⟩
⟨7 unchanged words⟩ on the account's computer.","properties":{"artifacts":{"description":"Files the script wrote to outputDir.","items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"calls":{"description":"Every tool call the
⟨21 unchanged words⟩ run's chat.","type":"string"},"idempotency_key":{"description":"Always pass one, unique to this message. Retrying with the same key returns the run the first call started instead of sending the message twice.","maxLength":255,"type":"string"},"message":{"description":"The follow-up to send into the conversation.","maxLength":10000,"type":"string"},"response_format":{"description":"Ask for a JSON reply instead of prose: a JSON Schema, or OpenAI's {type: \"json_schema\", json_schema: {schema}}. The settled run then carries the parsed value in `json`, validated against the schema, or why it failed in `json_error`.","type":"object"},"timeout_seconds":{"description":"Seconds to ⟨29 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩
⟨94 unchanged words⟩ "maxLength":10000,"type":"string"},"response_format":{"description":"Ask for a JSON reply instead of prose: a JSON Schema, or OpenAI's {type: \"json_schema\", json_schema: {schema}}. The settled run then carries the parsed value in `json`, validated against the schema, or why it failed in `json_error`.","type":"object"},"speed":{"description":"faster thinks less, ⟨23 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"artifacts":{"items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"cancel_requested_at":{"description":"Set once a stop ⟨43 unchanged words⟩ "]},"id":{"type":"string"},"json":{"description":"The reply parsed as JSON and validated against response_format. Present only when one was given."},"json_error":{"description":"Why the reply did not parse or validate against response_format.","type":["string","null"]},"next_step":{"type":"string"}, ⟨76 unchanged words⟩
⟨7 unchanged words⟩ on the account's computer.","properties":{"artifacts":{"description":"Files the script wrote to outputDir.","items":{"description":"A file the work produced. Exchange its id for a download link with get_file_download_url.","properties":{"content_type":{"type":["string","null"]},"filename":{"type":"string"},"id":{"type":"string"},"object":{"const":"artifact","type":"string"},"size":{"type":"integer"}},"required":["object","id","filename","size"],"type":"object"},"type":"array"},"calls":{"description":"Every tool call the ⟨128 unchanged words⟩
⟨59 unchanged words⟩ ,"id":{"type":"string"},"kind":{"enum":["personal","team"],"type":"string"},"name":{"type":["string","null"]},"scopes":{"description":"The scopes it holds, OAuth's read_only and read_write expanded. Null for an API key made before scopes existed, which reaches every tool.","items":{"type":"string"},"type":["array","null"]},"type":{"enum" ⟨107 unchanged words⟩
Exchange an artifact id (art_...) from a run's or script run's `artifacts` for a download link. The link needs no credentials and expires after 15 minutes; ask again for a fresh one.
List the account's audit events, newest first: access and configuration changes, approvals, API key use, and (at the full capture level) the agent's tool calls.
Authorization not required, issuer https://crevio.co
Changed the definition of "ask_crevio", "cancel_run", "get_run" and 5 more
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
Stop a run that is pending, running, or waiting forinput.input,The
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Changed the definition of "cancel_script_run", "get_script_run", "list_integration_tools" and 2 more
⟨68 unchanged words⟩ output":{"description":"What the script printed:(theitslaststart64and end when long,000characters).with the cut marked.","type":["string","null"]} ⟨59 unchanged words⟩
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Changed the definition of "ask_crevio", "cancel_run", "cancel_script_run" and 3 more
⟨54 unchanged words⟩ it for work that needs judgement or writing.To read or change data directly, run_script is much faster.If the run is still going when the ⟨41 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}
Certificate changed, valid to 2026-12-29
Authorization not required, issuer https://crevio.co
Added "cancel_script_run", "get_script_run", "list_integration_tools" and 3 more; removed "api_execute" and "api_search"; changed the definition of "ask_crevio", "cancel_run", "get_chat" and 9 more (14 tools before, 18 now)
Delegate a job to the Crevio agent and wait for the result.Starts a runThethatagent works your account through the Crevio API and every connected integration (products, customers, orders, email, socials, sites, research),waitsandupreplies in `result`. Each job is a full agent run that takes from half a minute totimeout_secondsseveral minutes,andso
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Changed the definition of "api_execute", "ask_crevio" and "start_chat"
⟨176 unchanged words⟩ - Associations take the bare resource name andaanprefix_idid string — `product: "prod_x"`, never ⟨204 unchanged words⟩
⟨9 unchanged words⟩ without review; supervised pauses in needs_input for yourreviewapproval beforefinishing;each gated write (pending_approval_ids) and otherwise finishes with its proposal;
Authorization not required, issuer https://crevio.co
Changed the definition of "ask_crevio", "cancel_run", "get_run" and 5 more
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Authorization not required, issuer https://crevio.co
Changed the definition of "api_execute"
⟨322 unchanged words⟩ Ads, Analytics, ApiKeys, Approvals, Audio, Billing Portal, BlogCategories, BlogPosts, Bookings, Bots, Broadcasts, Calls ⟨61 unchanged words⟩
Authorization not required, issuer https://crevio.co
Certificate recorded, valid to 2026-10-31
Authorization not required, issuer https://crevio.co
First tool surface recorded: 14 tools (server version 2.0.0)
Showing the latest 29 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
⟨62 unchanged words⟩ ,"needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"task_id":{ ⟨12 unchanged words⟩
⟨25 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨54 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
Wait for a run to settle (completed, failed, cancelled, or needs_input) and return it with the agent's ⟨20 unchanged words⟩
⟨14 unchanged words⟩ known about its state.","properties":{"cancel_requested_at":{"description":"Set once a stop was requested; the run stays running until it reaches its next step, then settles as cancelled.","format":"date-time","type":["string","null"]},"chat_id":{"type":["string","null" ⟨54 unchanged words⟩ ","needs_input","timed_out","unknown","skipped","cancelled"],"type":"string"},"summary": ⟨38 unchanged words⟩
⟨68 unchanged words⟩ output":{"description":"What the script printed:(theitslaststart64and end when long,000characters).with the cut marked.","type":["string","null"]} ⟨59 unchanged words⟩
⟨40 unchanged words⟩ :"integer"},"search":{"description":"OnlyKeywords,functionsbestwhosematchnamefirstor— ranked over name, descriptionmatchesand parameters, so not everyword.word has to match.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨68 unchanged words⟩ output":{"description":"What the script printed:(theitslaststart64and end when long,000characters).with the cut marked.","type":["string","null"]} ⟨59 unchanged words⟩
⟨68 unchanged words⟩ output":{"description":"What the script printed:(theitslaststart64and end when long,000characters).with the cut marked.","type":["string","null"]} ⟨59 unchanged words⟩
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":false}
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}
⟨37 unchanged words⟩ :"string"},"idempotency_key":{"description":"Always pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead ofstartingdoinganother.the job twice.","maxLength":255,"type":"string"},"message":{"description":"What you want done, in naturallanguage.language, with all the context needed — the agent does not see your conversation.","maxLength":10000,"type":"string"},"speed":{"description":"faster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.","enum":["faster","smarter"],"type":"string"},"timeout_seconds":{"description":"How long to wait for the run tosettlefinish beforereturningreturning.(defaultDefaults60to,maxand90).isOncappedwait_timed_outat,call300wait_for_runswithwhentheyour client accepts a streamed reply (text/event-stream), 90 s otherwise. The runid.keeps going when the wait ends first.","maximum":90300,"minimum":0,"type":"integer"}} ⟨4 unchanged words⟩
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
⟨52 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨21 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
⟨48 unchanged words⟩ default 0: return the new run immediately). Capped like ask_crevio's wait.","maximum":90300,"minimum":0,"type":"integer"}} ⟨5 unchanged words⟩
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
⟨37 unchanged words⟩ :"string"},"idempotency_key":{"description":"Always pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead ofstartingdoinganother.the job twice.","maxLength":255,"type":"string"},"message":{"description":"What you want done, in naturallanguage.language, with all the context needed — the agent does not see your conversation.","maxLength":10000,"type":"string"},"speed":{"description":"faster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.","enum":["faster","smarter"],"type":"string"}},"required":[ ⟨3 unchanged words⟩
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
⟨10 unchanged words⟩ and return it with the agent's final reply.Returns wait_timed_out ifIf it is still running when thetimeoutwaitpasses;ends, the reply has wait_timed_out: true — call wait_for_run again.
⟨15 unchanged words⟩ How long to wait for the run tosettlefinish beforereturningreturning.(defaultDefaults60to,maxand90).isOncappedwait_timed_outat,call300wait_for_runswithwhentheyour client accepts a streamed reply (text/event-stream), 90 s otherwise. The runid.keeps going when the wait ends first.","maximum":90300,"minimum":0,"type":"integer"}} ⟨4 unchanged words⟩
⟨41 unchanged words⟩ ,"id":{"type":"string"},"next_step":{"type":"string"},"object":{"const":"task_run","type": ⟨40 unchanged words⟩ ":{"type":["string","null"]},"wait_timed_out":{"description":"The wait ended first. The work is still running: follow it with the tool next_step names.","type":"boolean"}},"required":["object","id", ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
⟨12 unchanged words⟩ balance, rate limits, and the tools available.Call itOnlyfirstneeded toverifytroubleshoot thesetup.connection or check credits and limits — other tools already act on this account.
⟨88 unchanged words⟩ {"type":"integer"},"ask_timeout_max_seconds":{"description":"Longer when this connection accepts a streamed reply.","type":"integer"},"message_max_chars":{"type" ⟨71 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":truefalse,"readOnlyHint":true}
Cancel a script run that has not started yet. A running script runs to its end or its timeout.
Read a script run's status, and its result once it has finished.
List one namespace's functions — the name a script calls, its parameters, whether it only reads, whether it needs approval, and a snippet run_script accepts. crevioApi has hundreds of operations: narrow it with `search`.
List what a script can call: the Crevio API (crevioApi), Crevio's own tools (platform), and every integration you can use, each as a namespace under `tools`, plus the account's other connected apps and their status. Then list a namespace's functions with list_integration_tools.
Run JavaScript on the account's computer with bun — no agent turn — and wait for its result. `tools.<namespace>.<function>(args)` calls anything list_integration_tools shows (every call returns its result and throws on failure; top-level await works), and the script's last expression is its result. Chain calls and transform data in one run, e.g. `const { data } = await tools.crevioApi.listOrders({ status: "succeeded" }); data.length`. Runs as you, and only for account admins. If the wait ends first the reply has wait_timed_out: true and the run id: continue with wait_for_script_run — calling …
Wait for a script run to finish and return its result. If it is still running when the wait ends, the reply has wait_timed_out: true — call again.
Execute Ruby in a sandboxed VM against the Crevio REST API. Use `api_search` first to find the endpoint and its body fields, then call it here. Chain calls, transform results, return the final expression. ## Available in your code ``` get(path, params = {}) # paths auto-prefixed with /v1, routed in-process post(path, **body) # body as keyword args or a hash — both work patch(path, **body) delete(path) find_endpoints(query) # -> ["METHOD /path — summary", ...] iso8601(offset_seconds = 0) # mruby Time has no strftime/iso8601 ``` Returns the **last expression**; `puts` is side-…
Discover available Crevio API endpoints. Use this BEFORE `api_execute` when you're unsure which endpoint to call, need to check parameter names, or want to explore what's available for a domain (e.g. "experiences", "discounts"). A `tools` method returns the full API catalog — an array of hashes keyed with strings: "method", "path", "summary", "description", "tags", "parameters", "request_body". Examples: `tools.select { |t| t["tags"]&.include?("Products") }.map { |t| "#{t["method"]} #{t["path"]} — #{t["summary"]}" }` `tools.find { |t| t["path"].include?("price_variants") && t["method"] == "PO…
⟨9 unchanged words⟩ without review; supervised pauses in needs_input for yourreviewapproval beforefinishing;each gated write (pending_approval_ids) and otherwise finishes with its proposal; read_only forbids writes.","enum":["autonomous" ⟨43 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
⟨61 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"task_id":{ ⟨12 unchanged words⟩
⟨84 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨34 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩
⟨73 unchanged words⟩ ,"failed","needs_input","timed_out","unknown","skipped"],"type":"string"},"summary":{ ⟨18 unchanged words⟩