Files
team/api/v4/source/compliance.yaml
zeekayandHanzo Dev 404de134f3 Point the API spec and its route checker at the new base
The OpenAPI document keys every operation by its full path, so the spec
described endpoints that no longer exist the moment the server moved.

The openApiSync analyzer cross-checks each registered subrouter against
that document and reconstructs the prefix from a literal of its own, so
spec and analyzer have to move together or every route reports as
missing. Its special case for the v5 root goes away with the root
itself.

The api/v4 directory keeps its name: it is where the spec sources live,
not a URL anyone requests.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-14 10:58:08 -07:00

128 lines
3.7 KiB
YAML

/v1/team/compliance/reports:
post:
tags:
- compliance
summary: Create report
description: |
Create and save a compliance report.
##### Permissions
Must have `manage_system` permission.
operationId: CreateComplianceReport
responses:
"201":
description: Compliance report creation successful
content:
application/json:
schema:
$ref: "#/components/schemas/Compliance"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
get:
tags:
- compliance
summary: Get reports
description: >
Get a list of compliance reports previously created by page, selected
with `page` and `per_page` query parameters.
##### Permissions
Must have `manage_system` permission.
operationId: GetComplianceReports
parameters:
- name: page
in: query
description: The page to select.
schema:
type: integer
default: 0
- name: per_page
in: query
description: The number of reports per page.
schema:
type: integer
default: 60
responses:
"200":
description: Compliance reports retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Compliance"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/v1/team/compliance/reports/{report_id}":
get:
tags:
- compliance
summary: Get a report
description: |
Get a compliance reports previously created.
##### Permissions
Must have `manage_system` permission.
operationId: GetComplianceReport
parameters:
- name: report_id
in: path
description: Compliance report GUID
required: true
schema:
type: string
responses:
"200":
description: Compliance report retrieval successful
content:
application/json:
schema:
$ref: "#/components/schemas/Compliance"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/v1/team/compliance/reports/{report_id}/download":
get:
tags:
- compliance
summary: Download a report
description: |
Download the full contents of a report as a file.
##### Permissions
Must have `manage_system` permission.
operationId: DownloadComplianceReport
parameters:
- name: report_id
in: path
description: Compliance report GUID
required: true
schema:
type: string
responses:
"200":
description: The compliance report file
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"