---
title: "List pentests"
method: GET
path: "/v1/pentests/"
tags: ["pentests"]
---

# List pentests

`GET /v1/pentests/`

## 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/`
- Auth: none declared

List pentests visible to the caller.

Scoped to the caller's pentest memberships by ``PentestService``;
the route only translates transport.

Args:
    db (AsyncSession): Request-scoped database session.
    context (ActiveContext): Resolved caller identity and scope.
    query (PentestListQuery): Filters + pagination query params.
    pager (Paginator): Fills the response's navigation metadata.

Returns:
    PentestListResponse: The authorized, paginated pentest list.

## 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).
- `organization_id` integer, nullable
- `pentest_type` 1 | 2: Pentest execution mode.
- `status` 0 | 1 | 2 | 3 | 4 | 5 | 6: Pentest lifecycle status.
- `search` string, nullable
- `pentest_slug` string, nullable
- `running` boolean, nullable
- `finished` boolean, nullable

## Response `200`

Successful Response

- PentestListResponse: Paginated list of pentests. Shared by ``/v1/pentests`` and ``/v1/organizations/{id}/pentests`` — both paginated list routes, wired through :class:`~phoenix.api.rest.pagination.Paginator`. Attributes: pentests (list[PentestResponse]): Pentest 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.
  - `pentests` PentestResponse[], required
    - `id` integer, required
    - `slug` string, required
    - `name` string, required
    - `pic` string, nullable
    - `pentest_type` string, required
    - `pentest_category` string, nullable
    - `status` string, required
    - `dimension_type` string, nullable
    - `organization_id` integer, required
    - `start_date` string, date-time, required
    - `end_date` string, date-time, required
    - `created` string, date-time, required
    - `event_type` string, required: Previous name for pentest_type.
    - `event_category` string, nullable, required: Previous name for pentest_category.

## 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)
