Use Devin to assign coding tasks and manage their sessions from a workflow. Create Session accepts a prompt, optional playbook, ACU (Autonomous Compute Unit) limit, and tags.
Use Get Session to poll status before consuming pull requests or structured output; session details also report resource use. List Sessions supports pagination. Send Message supplies context or redirects an active session and resumes suspended sessions automatically. Set an ACU limit when you need a spending boundary.
Create coding sessions, list or inspect their status and results, and send messages to guide active or suspended work. Use playbooks and ACU limits for repeatable tasks and spending control.
Create a new Devin session with a prompt. Devin will autonomously work on the task described in the prompt.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) promptstring Yes The task prompt for Devin to work on playbookIdstring No Optional playbook ID to guide the session maxAcuLimitnumber No Maximum ACU limit for the session tagsstring No Comma-separated tags for the session
Parameter Type Description sessionIdstring Unique identifier for the session urlstring URL to view the session in the Devin UI statusstring Session status (new, claimed, running, exit, error, suspended, resuming) statusDetailstring Detailed status (working, waiting_for_user, waiting_for_approval, finished, inactivity, etc.) titlestring Session title createdAtnumber Unix timestamp when the session was created updatedAtnumber Unix timestamp when the session was last updated acusConsumednumber ACUs consumed by the session tagsjson Tags associated with the session (array of strings) pullRequestsjson Pull requests created during the session ([{pr_url, pr_state}]) structuredOutputjson Structured output from the session playbookIdstring Associated playbook ID isArchivedboolean Whether the session is archived
Retrieve details of an existing Devin session including status, tags, pull requests, and structured output.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to retrieve
Parameter Type Description sessionIdstring Unique identifier for the session urlstring URL to view the session in the Devin UI statusstring Session status (new, claimed, running, exit, error, suspended, resuming) statusDetailstring Detailed status (working, waiting_for_user, waiting_for_approval, finished, inactivity, etc.) titlestring Session title createdAtnumber Unix timestamp when the session was created updatedAtnumber Unix timestamp when the session was last updated acusConsumednumber ACUs consumed by the session tagsjson Tags associated with the session (array of strings) pullRequestsjson Pull requests created during the session ([{pr_url, pr_state}]) structuredOutputjson Structured output from the session playbookIdstring Associated playbook ID isArchivedboolean Whether the session is archived
List Devin sessions in the organization. Returns up to 100 sessions by default.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) limitnumber No Maximum number of sessions to return (1-200, default: 100) afterstring No Pagination cursor (endCursor from a previous response) to fetch the next page
Parameter Type Description sessionsarray List of Devin sessions ↳ sessionId string Unique identifier for the session ↳ url string URL to view the session ↳ status string Session status ↳ statusDetail string Detailed status ↳ title string Session title ↳ createdAt number Creation timestamp (Unix) ↳ updatedAt number Last updated timestamp (Unix) ↳ tags json Session tags (array of strings) ↳ acusConsumed number ACUs consumed by the session ↳ pullRequests json Pull requests created during the session ([{pr_url, pr_state}]) ↳ playbookId string Associated playbook ID ↳ isArchived boolean Whether the session is archived endCursorstring Pagination cursor for the next page, or null if last page hasNextPageboolean Whether more sessions are available totalnumber Total number of sessions, if provided
Send a message to a Devin session. If the session is suspended, it will be automatically resumed. Returns the updated session state.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to send the message to messagestring Yes The message to send to Devin
Parameter Type Description sessionIdstring Unique identifier for the session urlstring URL to view the session in the Devin UI statusstring Session status (new, claimed, running, exit, error, suspended, resuming) statusDetailstring Detailed status (working, waiting_for_user, waiting_for_approval, finished, inactivity, etc.) titlestring Session title createdAtnumber Unix timestamp when the session was created updatedAtnumber Unix timestamp when the session was last updated acusConsumednumber ACUs consumed by the session tagsjson Tags associated with the session (array of strings) pullRequestsjson Pull requests created during the session ([{pr_url, pr_state}]) structuredOutputjson Structured output from the session playbookIdstring Associated playbook ID isArchivedboolean Whether the session is archived
List the messages exchanged in a Devin session, including messages from both the user and Devin.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to list messages for limitnumber No Maximum number of messages to return (1-200, default: 100) afterstring No Pagination cursor (endCursor from a previous response) to fetch the next page
Parameter Type Description messagesarray Messages exchanged in the session ↳ eventId string Unique identifier for the message event ↳ source string Origin of the message (devin or user) ↳ message string The message content ↳ createdAt number Unix timestamp when the message was created endCursorstring Pagination cursor for the next page, or null if last page hasNextPageboolean Whether more messages are available totalnumber Total number of messages, if provided
List the files uploaded to or produced by a Devin session.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to list attachments for
Parameter Type Description attachmentsarray Attachments associated with the session ↳ attachmentId string Unique identifier for the attachment ↳ name string Attachment file name ↳ url string URL to download the attachment ↳ source string Origin of the attachment (devin or user) ↳ contentType string MIME type of the attachment
Retrieve the tags currently applied to a Devin session.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to retrieve tags for
Parameter Type Description tagsjson Tags applied to the session (array of strings)
Add tags to a Devin session without removing existing tags (max 50 tags total).
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to add tags to tagsstring Yes Tags to append to the session (comma-separated string or array of strings)
Parameter Type Description tagsjson Updated list of tags on the session (array of strings)
Replace all tags on a Devin session with a new set of tags (max 50 tags).
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to replace tags on tagsstring Yes Tags that will overwrite the existing tags (comma-separated string or array of strings)
Parameter Type Description tagsjson Updated list of tags on the session (array of strings)
Archive a Devin session. Archived sessions can still be viewed but cannot be modified or resumed.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to archive
Parameter Type Description sessionIdstring Unique identifier for the session urlstring URL to view the session in the Devin UI statusstring Session status (new, claimed, running, exit, error, suspended, resuming) statusDetailstring Detailed status (working, waiting_for_user, waiting_for_approval, finished, inactivity, etc.) titlestring Session title createdAtnumber Unix timestamp when the session was created updatedAtnumber Unix timestamp when the session was last updated acusConsumednumber ACUs consumed by the session tagsjson Tags associated with the session (array of strings) pullRequestsjson Pull requests created during the session ([{pr_url, pr_state}]) structuredOutputjson Structured output from the session playbookIdstring Associated playbook ID isArchivedboolean Whether the session is archived
Terminate a Devin session. Optionally archive the session instead of permanently terminating it.
Inputs and outputsParameter Type Required Description apiKeystring Yes Devin API key (service user credential starting with cog_) orgIdstring Yes Devin organization ID (prefixed with org-) sessionIdstring Yes The session ID to terminate archiveboolean No Archive the session instead of permanently terminating it (default: false)
Parameter Type Description sessionIdstring Unique identifier for the session urlstring URL to view the session in the Devin UI statusstring Session status (new, claimed, running, exit, error, suspended, resuming) statusDetailstring Detailed status (working, waiting_for_user, waiting_for_approval, finished, inactivity, etc.) titlestring Session title createdAtnumber Unix timestamp when the session was created updatedAtnumber Unix timestamp when the session was last updated acusConsumednumber ACUs consumed by the session tagsjson Tags associated with the session (array of strings) pullRequestsjson Pull requests created during the session ([{pr_url, pr_state}]) structuredOutputjson Structured output from the session playbookIdstring Associated playbook ID isArchivedboolean Whether the session is archived