> ## Documentation Index
> Fetch the complete documentation index at: https://docs.app.strix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pentests

> Start, monitor, and download pentest results

export const ScarfPixel = () => <img referrerPolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=831669b6-b4bd-42cb-8832-2122c03e1d5f" alt="" width="1" height="1" style={{
  position: "absolute",
  width: 0,
  height: 0,
  opacity: 0,
  pointerEvents: "none"
}} />;

<ScarfPixel />

## List pentests

Retrieve pentests with optional filters and pagination.

```bash theme={null}
curl -X GET "https://app.strix.ai/api/v1/scans?limit=20" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:read`

## Start a new pentest

Provide `domain_ids` for blackbox pentests or `repository_ids` for whitebox pentests.

```bash theme={null}
curl -X POST "https://app.strix.ai/api/v1/scans" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "domain_ids": ["<DOMAIN_ID>"],
    "concerns": "Check for authentication bypass vulnerabilities"
  }'
```

**Required scope:** `scans:write`

## Get pentest detail

```bash theme={null}
curl -X GET "https://app.strix.ai/api/v1/scans/<SCAN_ID>" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:read`

## Rerun a pentest

Re-execute a previous pentest configuration:

```bash theme={null}
curl -X POST "https://app.strix.ai/api/v1/scans/<SCAN_ID>/rerun" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:write`

## Cancel a pentest

Cancel a pending or running pentest:

```bash theme={null}
curl -X POST "https://app.strix.ai/api/v1/scans/<SCAN_ID>/cancel" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:write`

## Download report

Download the PDF report for a completed pentest:

```bash theme={null}
curl -X GET "https://app.strix.ai/api/v1/scans/<SCAN_ID>/report" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -o report.pdf
```

**Required scope:** `scans:read`

## Retest findings

List the retests recorded for a pentest:

```bash theme={null}
curl -X GET "https://app.strix.ai/api/v1/scans/<SCAN_ID>/retests" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:read`

Re-run validation against every finding in a pentest:

```bash theme={null}
curl -X POST "https://app.strix.ai/api/v1/scans/<SCAN_ID>/retest-all" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:write`

## Get a reusable template

Retrieve a pentest's configuration as a template you can use to start new pentests:

```bash theme={null}
curl -X GET "https://app.strix.ai/api/v1/scans/<SCAN_ID>/template" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:read`

## Delete a pentest

```bash theme={null}
curl -X DELETE "https://app.strix.ai/api/v1/scans/<SCAN_ID>" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
```

**Required scope:** `scans:write`
