pentests
pentests

Generate a pentest report

Request asynchronous generation of a pentest report.

Accepted for processing and generated in the background; the returned report reflects its initial, pending state. Restricted to organization and partner integrators authorized for the pentest.

Args: pentest_slug (str): Public pentest identifier. body (CreateReportRequest): Report generation parameters. db (AsyncSession): Request-scoped database session. context (ActiveContext): Resolved caller identity and scope.

Returns: ReportResponse: The accepted report and its current state.

post/v1/pentests/{pentest_slug}/reports/

Request

  • Base URL
    https://api.ethiack.com (the document declares no server; this is the origin it was published from)
  • Auth
    none declared

Path parameters

pentest_slugstring required

Request body

type'technical' | 'executive' | 'csv' | 'asset_inventory' | 'customer_facing' | 'owasp_top_10' | 'owasp_wstg' | 'pci_dss' required

Human-readable report type.

Maps to :class:~phoenix.common.DocumentType integers.

start_datestring date-time nullable

Report period start (ISO 8601).

end_datestring date-time nullable

Report period end (ISO 8601).

minimum_severity0 | 1 | 2 | 3 | 4 | 5

Finding severity level.

include_statusReportFindingStatus[] nullable

Finding statuses to include.

tzstring nullable

IANA timezone (e.g. 'Europe/Lisbon').

Response

Successful Response

idinteger required
pentest_slugstring nullable
optionsobject

Generation options this report was requested with. Empty for types that take none.

document_typestring required
statusinteger required
urlstring nullable
start_datestring date-time nullable
end_datestring date-time nullable
generation_datestring date-time nullable
errorstring nullable
convert_to_pdfboolean
language'en' | 'pt' | 'de' | 'fr' | 'es'

Language a document is rendered in.

Members are ISO 639-1 codes. This docstring is served as the field description in the public OpenAPI spec, so keep it about the contract; the reasoning behind the closed set is on :attr:~phoenix.db.models.document.Document.language and in revision a3f8d2c15e47.

The values are what documents.language stores (a native PostgreSQL enum of member values, unlike document_type above -- NULL there for the CSV exports, which render no text) and what the report-generation microservice takes on the wire, where they must match its own Language enum label for label — it ships translations for exactly these five and answers anything else with English, so a member added here without one there is silently wrong rather than an error.

createdstring date-time nullable
event_slugstring nullable required

Previous name for pentest_slug.

Changes

No recorded changes to this operation across all 1 revision of this API.