skip to content
$worker

devin

v0.1.6

Devin CLI + API as an iii worker; devin::run/start/stop/status/sessions::list follow the agent-worker family and stream AgentEvent frames onto agent::events, devin::session::* wrap the Devin cloud session lifecycle, devin::pr-review::* exposes Devin's review surface, and devin::api reaches any Devin v1/v3 endpoint.

iiiverified
6 installs4 in 7d0 today
install
$iii worker add devin
binarylicense: Apache-2.0coding-agentdevincloudpr-reviewagent
  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64 · x86

exact versions are immutable; binary and bundle artifacts are digest-pinned.

functions

12

devin::api

function

Raw authenticated call to any Devin v3 endpoint: {method, path, query?, body?}. Use for anything the typed devin::session::* wrappers do not cover.

request
  • bodyunknown

    Optional JSON request body.

  • methodstringrequired

    HTTP method: GET, POST, PUT, PATCH, or DELETE.

  • pathstringrequired

    Path relative to the configured base URL, e.g. `organizations/{org_id}/sessions`.

  • queryunknown

    Optional query parameters as a flat object.

response
empty object

devin::on-config-change

function

Internal: reload devin configuration when it changes.

request
empty object
response
  • okboolean

devin::pr-review::status

function

Get the latest Devin review status for a pull/merge request.

request
  • commit_shastring

    Commit SHA (full or short); defaults to the PR head when omitted.

  • pr_urlstringrequired

    Full URL of the pull/merge request to look up.

response
empty object

devin::pr-review::trigger

function

Trigger a Devin review for a pull/merge request by its URL.

request
  • pr_urlstringrequired

    Full URL of the pull/merge request to review.

response
empty object

devin::run

function

Run one Devin CLI turn and wait for the result. Accepts `prompt` or a `messages` array; streams raw CLI stdout onto devin::events, terminal AgentEvent frames onto agent::events, and returns {session_id, devin_session_id, url, result, stop_reason, is_error}.

request
  • cwdstring

    Working directory the CLI runs in. Empty = the worker's process directory.

  • iii_contextboolean

    Prepend the iii runtime discovery prompt as leading instructions (default from config).

  • messagesobject[]

    Alternative to prompt: role/content messages; the last user entry becomes the prompt.

    • contentunknownrequired

      Either a plain string or an array of content blocks.

    • rolestringrequired
  • promptstring

    The prompt handed to the `devin` CLI for this turn.

  • session_idstring

    iii session id; reuse to keep the same local record. Omit to generate one.

response
  • busyboolean
  • devin_session_idstring
  • is_errorboolean
  • num_turnsinteger
  • reasonstring
  • resultstring
  • session_idstring
  • stop_reasonstring
  • urlstring

devin::session::create

function

Create a Devin cloud session from a prompt. Optional fields (title, tags, playbook_id, snapshot_id, idempotent, max_acu_limit, secret_ids, knowledge_ids, unlisted) map to POST /sessions.

request
  • attachment_urlsstring[]

    (v3) File attachment URLs.

  • bypass_approvalboolean

    (v3) Skip approval workflows for this session.

  • devin_modestring

    (v3) Agent mode: normal, fast, lite, ultra, or fusion.

  • idempotentboolean

    (v1) Reuse an existing matching session instead of creating a duplicate.

  • knowledge_idsstring[]

    Knowledge ids to attach to the session.

  • max_acu_limitinteger· uint64min 0

    Cap the session's ACU consumption.

  • messagesobject[]

    Alternative to prompt: role/content messages; the last user entry becomes the prompt.

    • contentunknownrequired

      Either a plain string or an array of content blocks.

    • rolestringrequired
  • playbook_idstring

    Playbook id to run.

  • promptstring

    The task prompt for the new Devin session.

  • reposstring[]

    (v3) Repository identifiers to attach to the session.

  • resumableboolean

    (v3) Preserve VM state so the session can be resumed (default true).

  • secret_idsstring[]

    Secret ids to expose to the session.

  • snapshot_idstring

    (v1) Machine snapshot id to start the session from.

  • tagsstring[]

    Tags to apply to the session.

  • titlestring

    Human-readable session title.

  • unlistedboolean

    (v1) Create the session as unlisted.

response
empty object

devin::session::get

function

Fetch one Devin cloud session (status, messages, output) by session id.

request
  • session_idstringrequired

    iii session id (devin::run) or Devin cloud session id (devin::session::*).

response
empty object

devin::session::message

function

Send a follow-up message to a running Devin cloud session.

request
  • messagestringrequired

    The message to send.

  • session_idstringrequired

    Devin cloud session id (returned by devin::session::create).

response
empty object

devin::sessions::list

function

List every devin::run / devin::start session this worker has recorded, each linked to its Devin session id. For all Devin cloud sessions org-wide, use devin::api {method: GET, path: sessions}.

request
empty object
response
  • sessionsobject[]
    empty object

devin::start

function

Start a Devin CLI turn and return immediately; watch devin::events / agent::events (group_id = session_id) for progress and turn_end.

request
  • cwdstring

    Working directory the CLI runs in. Empty = the worker's process directory.

  • iii_contextboolean

    Prepend the iii runtime discovery prompt as leading instructions (default from config).

  • messagesobject[]

    Alternative to prompt: role/content messages; the last user entry becomes the prompt.

    • contentunknownrequired

      Either a plain string or an array of content blocks.

    • rolestringrequired
  • promptstring

    The prompt handed to the `devin` CLI for this turn.

  • session_idstring

    iii session id; reuse to keep the same local record. Omit to generate one.

response
  • session_idstring
  • startedboolean

devin::status

function

Point-in-time status of a local devin::run session.

request
  • session_idstringrequired

    iii session id (devin::run) or Devin cloud session id (devin::session::*).

response
  • liveboolean
  • recordobject
  • session_idstring

devin::stop

function

Interrupt a live devin::run CLI turn for a session.

request
  • session_idstringrequired

    iii session id (devin::run) or Devin cloud session id (devin::session::*).

response
  • reasonstring
  • session_idstring
  • stoppedboolean

triggers

0
no triggers registered