---
title: "GET /api/v1/agent/swarms"
method: GET
path: "/api/v1/agent/swarms"
tags: ["agent"]
---

# GET /api/v1/agent/swarms

`GET /api/v1/agent/swarms`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/agent/swarms`
- Auth: HTTP bearer

## Query parameters

- `org` string, required
- `page` integer
- `per_page` integer

## Response `200`

One page of agent swarms in the organization

- object
  - `swarms` AgentSwarm[], required
    - `id` string, required
    - `organization_id` string, required
    - `organization_slug` string, nullable, required
    - `repository_slug` string, nullable, required
    - `creator_user_id` string, nullable, required
    - `repository_id` string, nullable, required
    - `phase` 'planning' | 'executing' | 'landing' | 'releasing' | 'terminal', nullable, required
    - `outcome` 'succeeded' | 'partially_succeeded' | 'failed' | 'canceled' | 'budget_exhausted', nullable, required
    - `goal` string, nullable, required
    - `base_bookmark` string, nullable, required
    - `base_revision` string, nullable, required
    - `deadline_at` string, date-time, nullable, required
    - `canceled_at` string, date-time, nullable, required
    - `scheduler_generation` integer, required
    - `policy` object, required
    - `budget` object, required
    - `usage` object, required
    - `reserved` object, required
    - `summary` object, required
    - `environment` object, required
    - `canceled_count` integer, required
    - `skipped_count` integer, required
    - `github` object, required
      - `platform` 'composal' | 'github', required
      - `commits` integer, required
      - `prs_opened` integer, required
      - `prs_merged` integer, required
    - `number` integer, required
    - `display_id` integer, required
    - `slug` string, required
    - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'canceled', required
    - `model_provider` string, nullable, required
    - `model` string, nullable, required
    - `base_ref` string, nullable, required
    - `concurrency_key` string, nullable, required
    - `task_template_json` string, nullable, required
    - `queued_at` string, date-time, nullable, required
    - `started_at` string, date-time, nullable, required
    - `finished_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `task_count` integer, required
    - `done_count` integer, required
    - `failed_count` integer, required
    - `queued_at_label` string, nullable, required
    - `started_at_label` string, nullable, required
    - `finished_at_label` string, nullable, required
    - `created_at_label` string, nullable, required
    - `updated_at_label` string, nullable, required
  - `page` integer, required
  - `per_page` integer, required
  - `total` integer, required
  - `has_more` boolean, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable entity
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
