---
title: "List Sessions"
method: GET
path: "/v2/enterprise/sessions"
tags: ["sessions"]
---

# List Sessions

`GET /v2/enterprise/sessions`

## Query parameters

- `skip` integer
- `limit` integer
- `created_date_from` string, date-time, nullable
- `created_date_to` string, date-time, nullable
- `updated_date_from` string, date-time, nullable
- `updated_date_to` string, date-time, nullable
- `org_ids` string[], nullable
- `user_ids` string[], nullable
- `session_ids` string[], nullable

## Response `200`

Successful Response

- PaginatedResponseSessionResponse
  - `end_cursor` string, nullable — Cursor to fetch the next page, or None if this is the last page.
  - `has_next_page` boolean — Whether there are more items available after this page.
  - `items` SessionResponse[], required
    - `acus_consumed` number, required
    - `category` 'bug_fixing' | 'ci_cd_and_devops' | 'code_quality_and_security' | 'code_review' | 'code_review_and_analysis' | 'data_and_automation' | 'documentation_and_content' | 'feature_development' | 'migrations_and_upgrades' | 'other' | 'production_investigation' | 'refactoring_and_optimization' | 'research_and_exploration' | 'security' | 'unit_test_generation', nullable — The session's assigned use-case category, if categorisation has run. Only populated on get/list endpoints.
    - `child_session_ids` string[], nullable
    - `created_at` integer, required
    - `is_archived` boolean
    - `org_id` string, required
    - `origin` 'webapp' | 'slack' | 'teams' | 'api' | 'linear' | 'jira' | 'automation' | 'cli' | 'desktop' | 'code_scan' | 'other', nullable — The origin from which the session was created.
    - `parent_session_id` string, nullable
    - `playbook_id` string, nullable
    - `pull_requests` SessionPullRequest[], required
      - `pr_state` string, nullable, required
      - `pr_url` string, required
    - `service_user_id` string, nullable
    - `session_id` string, required
    - `status` 'new' | 'claimed' | 'running' | 'exit' | 'error' | 'suspended' | 'resuming', required
    - `status_detail` 'working' | 'waiting_for_user' | 'waiting_for_approval' | 'finished' | 'inactivity' | 'user_request' | 'usage_limit_exceeded' | 'out_of_credits' | 'out_of_quota' | 'no_quota_allocation' | 'payment_declined' | 'org_usage_limit_exceeded' | 'total_session_limit_exceeded' | 'error', nullable — Additional detail about the session's current status. When status is 'running': 'working' (actively working), 'waiting_for_user' (needs user input), 'waiting_for_approval' (awaiting action approval in safe mode), or 'finished' (task complete). When status is 'suspended': the reason for suspension such as 'inactivity', 'user_request', 'usage_limit_exceeded', 'out_of_credits', 'out_of_quota', 'no_quota_allocation', 'payment_declined', 'org_usage_limit_exceeded', 'total_session_limit_exceeded', or 'error'. Only populated on get/list endpoints.
    - `structured_output` object, nullable — Validated structured output from the session. Only populated on get/list endpoints.
    - `subcategory` string, nullable — The session's assigned subcategory display name. 'Other' when a category is set but no subcategory was assigned or resolved. Only populated on get/list endpoints.
    - `tags` string[], required
    - `title` string, nullable
    - `updated_at` integer, required
    - `url` string, required
    - `user_id` string, nullable
  - `total` integer, nullable — Optional total count (can be omitted for performance).

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/devin/apis/devin-api-v1.md) · [All operations](https://skmtc.net/devin/apis/devin-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/devin/devin-api-v1/versions/e3244476af1c/schema)
