---
title: "List recon launches"
method: GET
path: "/v1/pentests/{pentest_slug}/recons/"
tags: ["pentests"]
---

# List recon launches

`GET /v1/pentests/{pentest_slug}/recons/`

## Request

- Base URL: `https://api.ethiack.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ethiack.com/v1/pentests/{pentest_slug}/recons/`
- Auth: none declared

List reconnaissance launches for a pentest.

Rows are Cerbos-scoped by ``LaunchService``: members of the owning
organization, integrators of its partner, and a partner operating it
all see its recon launches; nobody sees another organization's.

A row in PENDING or IN_PROGRESS means a recon is still occupying the
pentest — PENDING included, since a claim holds the slot from the
moment it is written, before the engine's first callback.

Args:
    pentest_slug (str): Public pentest identifier.
    db (AsyncSession): Request-scoped database session.
    context (ActiveContext): Resolved caller identity and scope.
    query (PaginationQuery): Pagination query params.
    pager (Paginator): Fills the response's navigation metadata.

Returns:
    ReconListResponse: The authorized recon launches for the pentest.

## Path parameters

- `pentest_slug` string, required

## Query parameters

- `page` integer
- `per_page` integer: Page size. Values above 500 are clamped to it (or rejected, per REST__PAGINATION__PER_PAGE_OVER_MAX).

## Response `200`

Successful Response

- ReconListResponse: List of recon records for a pentest. Attributes: recons (list[ReconResponse]): Recon objects.
  - `total` integer, nullable
  - `page` integer, nullable
  - `per_page` integer, nullable
  - `_links` object, nullable: RFC 8288 rel to URL. Always first; last unless the route opted out of counting; prev and next when applicable.
  - `recons` ReconResponse[], required
    - `id` integer, required: Recon ID.
    - `status` 'pending' | 'in_progress' | 'finished' | 'error' | 'canceled', required: Human-readable recon execution status. Maps to ``StatusEnum`` integer values stored in the database.
    - `created` string, date-time, required: Creation timestamp.
    - `start_time` string, date-time, nullable: Execution start time.
    - `finish_time` string, date-time, nullable: Execution end time.
    - `pentest_slug` string, nullable: Slug of the parent pentest.
    - `event_slug` string, nullable, required: Previous name for pentest_slug.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ethiack/apis/ethiack-api.md) - [All operations](https://skmtc.dev/ethiack/apis/ethiack-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ethiack/apis/ethiack-api/revisions/4eaba89bfebf?raw)
