Skip to content
← Public packages

@kentcdodds/devin

Start, monitor, and manage Devin sessions, knowledge, playbooks, and schedules via the Devin v3 API

  • Other
  • devin
  • api
  • sdk
  • agents
  • automation
Version
1.0.0
License
MIT
Published
September 11, 2026
Pinned commit
65240f5
Rating
No ratings yet
Forks
0
Adaptation effort
—

@kentcdodds/devin

Intent

SDK for the Devin v3 API so Kody can start, monitor, and message Devin sessions and manage the org's knowledge notes, playbooks, schedules, and PR reviews. Transport is one compact authenticated helper against https://api.devin.ai (Bearer secret devinServiceUserKey), scaffolded from Devin's official v3-openapi.yaml.

Deliberately v3 only: legacy apk_ v1/v2 keys return 403 against /v3/*. Fork it if you want your own Devin automation surface — see setup below.

What it does

  • Start a Devin session and follow it (status, messages, PRs, structured output)
  • Audit recent org sessions, ACU burn, tags, and insights
  • Manage knowledge notes, playbooks, and scheduled sessions
  • Trigger or check a Devin PR review
  • Call unwrapped Devin endpoints via ./request

createSession, createPrReview, and generateSessionInsights consume ACUs. terminateSession and the delete helpers are destructive — confirm intent first. Prefer disabling a schedule over deleting it.

Prerequisites / setup

  1. Save user secret devinServiceUserKey: a v3 service user API key (cog_…) from Devin Settings → Devin API. Approve host api.devin.ai. Grant ImpersonateOrgSessions if sessions should be attributed via createAsUserId.
  2. Persist setting devinOrgId (org-…) in this package's storage (or pass orgId on every helper). Update without republishing via ./settings.
  3. Agents: see AGENTS.md for import paths and smoke checks.

If you forked this package

  1. Save devinServiceUserKey (user scope) with host api.devin.ai approved.
  2. Set devinOrgId with ./settings ({ orgId: 'org-…' }), or pass orgId per call when working across orgs.
  3. Adopt the fork (or approve secret access), then smoke-test with read-only ./self.

Rename the secret by editing DEVIN_SECRET_NAME and the placeholder in src/lib/client.ts (both live in that one file).

Done when

  • devinServiceUserKey is saved; host and package secret access are approved
  • devinOrgId is set (or you always pass orgId)
  • Read-only whoami (./self) succeeds (auth + RBAC smoke)
Report this listing

Log in to report this listing.