---
title: "Retrieve details about an existing session"
method: GET
path: "/v1/sessions/{session_id}"
tags: ["Sessions"]
---

# Retrieve details about an existing session

`GET /v1/sessions/{session_id}`

Get information about the session's current status, timestamps,
snapshot/playbook references, and any structured output.

## Path parameters

- `session_id` string, required

## Response `200`

Returns session details

- GetSessionResponse — Detailed information about an existing session
  - `session_id` string, required — Unique identifier for the session
  - `status` string, required — Current status of the session
  - `title` string, nullable — Session title
  - `created_at` string, date-time — Creation timestamp (ISO 8601)
  - `updated_at` string, date-time — Last update timestamp (ISO 8601)
  - `snapshot_id` string, nullable — ID of the machine snapshot used
  - `playbook_id` string, nullable — ID of the playbook used
  - `tags` string[], nullable — List of tags associated with the session
  - `pull_request` object, nullable — Pull request information (null if no PR is associated) containing url field
  - `structured_output` object, nullable — Task-specific structured output
  - `status_enum` 'working' | 'blocked' | 'expired' | 'finished' | 'suspend_requested' | 'suspend_requested_frontend' | 'resume_requested' | 'resume_requested_frontend' | 'resumed', nullable — Session status enumerations: - "working": Devin is actively working on a task - "blocked": Devin is waiting for user input or response - "expired": Session has expired - "finished": Session has completed - "suspend_requested": Request to suspend the session - "suspend_requested_frontend": Frontend-initiated suspend request - "resume_requested": Request to resume the session - "resume_requested_frontend": Frontend-initiated resume request - "resumed": Session has been resumed
  - `messages` Message[], nullable — List of messages in the session
    - `type` string, required — The type of the message
    - `event_id` string, required — Unique identifier for the event that generated this message
    - `message` string, required — The content of the message
    - `timestamp` string, date-time, required — Timestamp when the message was created
    - `username` string, nullable — The username associated with the message
    - `origin` string, nullable — The origin of the message
    - `user_id` string, nullable — The unique identifier of the user who sent the message

## Other responses

- `401` — Unauthorized - Invalid or missing API key
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.dev/devin/apis/devin-external-api.md) · [All operations](https://skmtc.dev/devin/apis/devin-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/devin/devin-external-api/revisions/bb0fabac5cbe/schema)
