{ "opencollection": "1.0.0", "info": { "name": "Devin External Attachments Sessions API", "version": "1.0.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Sessions", "type": "folder" }, "items": [ { "info": { "name": "List all sessions", "type": "http" }, "http": { "method": "GET", "url": "https://api.devin.ai/v1/sessions", "params": [ { "name": "limit", "value": "", "type": "query", "description": "Maximum number of sessions to return per page" }, { "name": "offset", "value": "", "type": "query", "description": "Number of sessions to skip for pagination" }, { "name": "tags", "value": "", "type": "query", "description": "Filter sessions by tags" } ] }, "docs": "Get a paginated list of Devin sessions. The sessions are ordered by creation date\nin descending order (newest first). Each session includes its status, metadata,\nand any structured output from the latest events.\n" }, { "info": { "name": "Create a new session", "type": "http" }, "http": { "method": "POST", "url": "https://api.devin.ai/v1/sessions", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new Devin session. Provide a prompt to describe the task.\nThe session can optionally be made unlisted or idempotent.\n" }, { "info": { "name": "Retrieve details about an existing session", "type": "http" }, "http": { "method": "GET", "url": "https://api.devin.ai/v1/sessions/:session_id", "params": [ { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ] }, "docs": "Get information about the session's current status, timestamps,\nsnapshot/playbook references, and any structured output.\n" }, { "info": { "name": "Terminate an existing session", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.devin.ai/v1/sessions/:session_id", "params": [ { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ] }, "docs": "Terminate a running Devin session by sending a stop event. This will gracefully\nstop the session and prevent further execution.\n\n**Permission Requirements:**\n- If the `session-write-only-owner` feature flag is enabled for your organization,\n only the session owner can terminate the session.\n- Otherwise, any user in the organization with access to the session can terminate it.\n\n**Status Validation:**\n- Cannot terminate a session that has already exited (status: \"exit\")\n- Sessions in other states" }, { "info": { "name": "Send a message to an existing session", "type": "http" }, "http": { "method": "POST", "url": "https://api.devin.ai/v1/sessions/:session_id/message", "params": [ { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Interact with an active Devin session by sending a message. This is\nparticularly useful in sessions waiting for user input or confirmations.\n" }, { "info": { "name": "Terminate a session", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.devin.ai/sessions/:session_id", "params": [ { "name": "session_id", "value": "", "type": "path", "description": "The session ID to terminate" } ] }, "docs": "Terminate an active Devin session. This sends a stop signal to the session,\ncausing it to gracefully shut down. Once terminated, the session cannot be resumed.\n\nNote: Sessions that have already exited cannot be terminated again.\n" }, { "info": { "name": "Update session tags", "type": "http" }, "http": { "method": "PUT", "url": "https://api.devin.ai/v1/sessions/:session_id/tags", "params": [ { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update the tags associated with a Devin session.\n" } ] } ], "bundled": true }