# FortWatch API reference

Every endpoint an API key or an OAuth token can call, by section.

## Assets

Domains, subdomains, IP addresses and cloud buckets, their ownership proof and what anyone can see of them.

- [List assets](/api/assets/list-assets.md): `GET /app/assets`
- [Get an asset](/api/assets/get-asset.md): `GET /app/assets/{id}`
- [Get the outside view](/api/assets/get-asset-outside-view.md): `GET /app/assets/{id}/outside-view/{part}`
- [Get the ownership state](/api/assets/get-asset-ownership.md): `GET /app/assets/{id}/ownership`
- [Get an asset's screenshot](/api/assets/get-asset-screenshot.md): `GET /app/assets/{id}/screenshot`
- [Add an asset](/api/assets/create-asset.md): `POST /app/assets`
- [Verify ownership](/api/assets/verify-asset-ownership.md): `POST /app/assets/{id}/ownership/verify`
- [Check an asset again](/api/assets/revalidate-asset.md): `POST /app/assets/{id}/revalidate`
- [Update an asset](/api/assets/update-asset.md): `PUT /app/assets/{id}`
- [Delete an asset](/api/assets/delete-asset.md): `DELETE /app/assets/{id}`

## Projects

Groups of assets.

- [List projects](/api/projects/list-projects.md): `GET /app/projects`
- [Create a project](/api/projects/create-project.md): `POST /app/projects`
- [Update a project](/api/projects/update-project.md): `PUT /app/projects/{id}`
- [Delete a project](/api/projects/delete-project.md): `DELETE /app/projects/{id}`

## Discovery

Hostnames public sources know under your proven domains, to add as assets.

- [List discovered hostnames](/api/discovery/list-discovered-hosts.md): `GET /app/discovery/hosts`
- [Summarize discovery](/api/discovery/get-discovery-summary.md): `GET /app/discovery/summary`
- [Ignore a hostname](/api/discovery/ignore-discovered-host.md): `POST /app/discovery/hosts/{id}/ignore`
- [Restore a hostname](/api/discovery/restore-discovered-host.md): `POST /app/discovery/hosts/{id}/restore`
- [Add hostnames as assets](/api/discovery/add-discovered-hosts.md): `POST /app/discovery/hosts/add`
- [Run discovery](/api/discovery/run-discovery.md): `POST /app/discovery/run`

## Scans

Start scans and read their results.

- [List scans](/api/scans/list-scans.md): `GET /app/scans`
- [Get a scan](/api/scans/get-scan.md): `GET /app/scans/{id}`
- [List a scan's findings](/api/scans/list-scan-findings.md): `GET /app/scans/{id}/findings`
- [List a scan's issues](/api/scans/list-scan-issues.md): `GET /app/scans/{id}/issues`
- [List running scans](/api/scans/list-active-scans.md): `GET /app/scans/active`
- [Start a scan](/api/scans/start-scan.md): `POST /app/scans`
- [Delete a scan](/api/scans/delete-scan.md): `DELETE /app/scans/{id}`

## Scan schedules

When each asset is scanned on its own.

- [List scan schedules](/api/scan-schedules/list-scan-schedules.md): `GET /app/scan-schedules`
- [Create a scan schedule](/api/scan-schedules/create-scan-schedule.md): `POST /app/scan-schedules`
- [Update a scan schedule](/api/scan-schedules/update-scan-schedule.md): `PUT /app/scan-schedules/{id}`
- [Delete a scan schedule](/api/scan-schedules/delete-scan-schedule.md): `DELETE /app/scan-schedules/{id}`

## Issues

What needs fixing: one issue per kind of problem and asset, with its findings, status and comments.

- [List issues](/api/issues/list-issues.md): `GET /app/issues`
- [Get an issue](/api/issues/get-issue.md): `GET /app/issues/{id}`
- [List an issue's comments](/api/issues/list-issue-comments.md): `GET /app/issues/{id}/comments`
- [Comment on an issue](/api/issues/add-issue-comment.md): `POST /app/issues/{id}/comments`
- [Assign an issue](/api/issues/assign-issue.md): `PATCH /app/issues/{id}/assignee`
- [Edit a comment](/api/issues/edit-issue-comment.md): `PATCH /app/issues/{id}/comments/{commentId}`
- [Dismiss an issue](/api/issues/dismiss-issue.md): `PATCH /app/issues/{id}/dismiss`
- [Change an issue's status](/api/issues/set-issue-status.md): `PATCH /app/issues/{id}/status`
- [Delete a comment](/api/issues/delete-issue-comment.md): `DELETE /app/issues/{id}/comments/{commentId}`

## Findings

Everything the scanners found.

- [List findings](/api/findings/list-findings.md): `GET /app/findings`

## Ports

Open ports across your assets.

- [List open ports](/api/ports/list-open-ports.md): `GET /app/ports`

## Reports

Period summaries, the most vulnerable assets and SLA performance.

- [Get the SLA report](/api/reports/get-sla-report.md): `GET /app/reports/sla`
- [Get the period summary](/api/reports/get-report-summary.md): `GET /app/reports/summary`
- [Get the most vulnerable assets](/api/reports/get-vulnerable-assets.md): `GET /app/reports/vulnerable-assets`

## Assessments

Forwardable assessment reports, as HTML or PDF, and their share links.

- [List assessment reports](/api/assessments/list-assessments.md): `GET /app/assessments`
- [Get an assessment report](/api/assessments/get-assessment.md): `GET /app/assessments/{id}`
- [Get a report as HTML](/api/assessments/get-assessment-html.md): `GET /app/assessments/{id}/html`
- [Get a report as PDF](/api/assessments/get-assessment-pdf.md): `GET /app/assessments/{id}/pdf`
- [Create an assessment report](/api/assessments/create-assessment.md): `POST /app/assessments`
- [Share a report](/api/assessments/share-assessment.md): `POST /app/assessments/{id}/share`
- [Delete a report](/api/assessments/delete-assessment.md): `DELETE /app/assessments/{id}`
- [Stop sharing a report](/api/assessments/unshare-assessment.md): `DELETE /app/assessments/{id}/share`

## Audit log

Every change in the workspace, by whom and through what.

- [List audit events](/api/audit-log/list-audit-events.md): `GET /app/audit-log`
- [Export the audit log](/api/audit-log/export-audit-log.md): `GET /app/audit-log/export`
- [Get the audit log's filters](/api/audit-log/get-audit-filters.md): `GET /app/audit-log/filters`
