Files
prowler/docs/api-reference/openapi.yml

18988 lines
579 KiB
YAML

openapi: 3.0.3
info:
title: Prowler API
version: 1.15.0
description: |-
Prowler API specification.
This file is auto-generated.
paths:
/api/v1/api-keys:
get:
operationId: api_keys_list
description: Retrieve a list of API keys for the tenant, with filtering support.
summary: List API keys
parameters:
- in: query
name: fields[api-keys]
schema:
type: array
items:
type: string
enum:
- name
- prefix
- expires_at
- revoked
- inserted_at
- last_used_at
- entity
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[expires_at]
schema:
type: string
format: date
- in: query
name: filter[expires_at__gte]
schema:
type: string
format: date
- in: query
name: filter[expires_at__lte]
schema:
type: string
format: date
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[prefix]
schema:
type: string
- in: query
name: filter[prefix__icontains]
schema:
type: string
- in: query
name: filter[revoked]
schema:
type: boolean
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- entity
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- prefix
- -prefix
- revoked
- -revoked
- inserted_at
- -inserted_at
- expires_at
- -expires_at
explode: false
tags:
- API Keys
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedTenantApiKeyList'
description: ''
post:
operationId: api_keys_create
description: Create a new API key for the tenant.
summary: Create a new API key
tags:
- API Keys
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantApiKeyCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TenantApiKeyCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TenantApiKeyCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantApiKeyCreateResponse'
description: ''
/api/v1/api-keys/{id}:
get:
operationId: api_keys_retrieve
description: Fetch detailed information about a specific API key by its ID.
summary: Retrieve API key details
parameters:
- in: query
name: fields[api-keys]
schema:
type: array
items:
type: string
enum:
- name
- prefix
- expires_at
- revoked
- inserted_at
- last_used_at
- entity
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant api key.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- entity
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- API Keys
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantApiKeyResponse'
description: ''
patch:
operationId: api_keys_partial_update
description: Modify certain fields of an existing API key without affecting
other settings.
summary: Partially update an API key
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant api key.
required: true
tags:
- API Keys
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedTenantApiKeyUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTenantApiKeyUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTenantApiKeyUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantApiKeyUpdateResponse'
description: ''
/api/v1/api-keys/{id}/revoke:
delete:
operationId: api_keys_revoke_destroy
description: Revoke an API key by its ID. This action is irreversible and will
prevent the key from being used.
summary: Revoke an API key
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant api key.
required: true
tags:
- API Keys
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OpenApiResponseResponse'
description: API key was successfully revoked
/api/v1/compliance-overviews:
get:
operationId: compliance_overviews_list
description: Retrieve an overview of all the compliance in a given scan.
summary: List compliance overviews for a scan
parameters:
- in: query
name: fields[compliance-overviews]
schema:
type: array
items:
type: string
enum:
- id
- framework
- version
- requirements_passed
- requirements_failed
- requirements_manual
- total_requirements
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[compliance_id]
schema:
type: string
- in: query
name: filter[compliance_id__icontains]
schema:
type: string
- in: query
name: filter[framework]
schema:
type: string
- in: query
name: filter[framework__icontains]
schema:
type: string
- in: query
name: filter[framework__iexact]
schema:
type: string
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan_id]
schema:
type: string
format: uuid
description: Related scan ID.
required: true
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[version]
schema:
type: string
- in: query
name: filter[version__icontains]
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- compliance_id
- -compliance_id
explode: false
tags:
- Compliance Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedComplianceOverviewList'
description: Compliance overviews obtained successfully
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: The task is in progress
'500':
description: Compliance overviews generation task failed
/api/v1/compliance-overviews/attributes:
get:
operationId: compliance_overviews_attributes_retrieve
description: Retrieve detailed attribute information for all requirements in
a specific compliance framework along with the associated check IDs for each
requirement.
summary: Get compliance requirement attributes
parameters:
- in: query
name: fields[compliance-requirements-attributes]
schema:
type: array
items:
type: string
enum:
- id
- compliance_name
- framework_description
- name
- framework
- version
- description
- attributes
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[compliance_id]
schema:
type: string
description: Compliance framework ID to get attributes for.
required: true
tags:
- Compliance Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedComplianceOverviewAttributesList'
description: Compliance attributes obtained successfully
/api/v1/compliance-overviews/metadata:
get:
operationId: compliance_overviews_metadata_retrieve
description: Fetch unique metadata values from a set of compliance overviews.
This is useful for dynamic filtering.
summary: Retrieve metadata values from compliance overviews
parameters:
- in: query
name: fields[compliance-overviews-metadata]
schema:
type: array
items:
type: string
enum:
- regions
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[scan_id]
schema:
type: string
format: uuid
description: Related scan ID.
required: true
tags:
- Compliance Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OpenApiResponseResponse'
description: Compliance overviews metadata obtained successfully
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: The task is in progress
'500':
description: Compliance overviews generation task failed
/api/v1/compliance-overviews/requirements:
get:
operationId: compliance_overviews_requirements_retrieve
description: Retrieve a detailed overview of compliance requirements in a given
scan, grouped by compliance framework. This endpoint provides requirement-level
details and aggregates status across regions.
summary: List compliance requirements overview for a scan
parameters:
- in: query
name: fields[compliance-requirements-details]
schema:
type: array
items:
type: string
enum:
- id
- framework
- version
- description
- status
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[compliance_id]
schema:
type: string
description: Compliance ID.
required: true
- in: query
name: filter[compliance_id__icontains]
schema:
type: string
- in: query
name: filter[framework]
schema:
type: string
- in: query
name: filter[framework__icontains]
schema:
type: string
- in: query
name: filter[framework__iexact]
schema:
type: string
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan_id]
schema:
type: string
format: uuid
description: Related scan ID.
required: true
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[version]
schema:
type: string
- in: query
name: filter[version__icontains]
schema:
type: string
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- compliance_id
- -compliance_id
explode: false
tags:
- Compliance Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedComplianceOverviewDetailList'
description: Compliance requirement details obtained successfully
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: The task is in progress
'500':
description: Compliance overviews generation task failed
/api/v1/findings:
get:
operationId: findings_list
description: Retrieve a list of all findings with options for filtering by various
criteria.
summary: List all findings
parameters:
- in: query
name: fields[findings]
schema:
type: array
items:
type: string
enum:
- uid
- delta
- status
- status_extended
- severity
- check_id
- check_metadata
- raw_result
- inserted_at
- updated_at
- first_seen_at
- muted
- muted_reason
- url
- scan
- resources
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[check_id]
schema:
type: string
- in: query
name: filter[check_id__icontains]
schema:
type: string
- in: query
name: filter[check_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[delta]
schema:
type: string
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
enum:
- changed
- new
description: |-
* `new` - New
* `changed` - Changed
- in: query
name: filter[delta__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[impact]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[impact__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
description: At least one of the variations of the `filter[inserted_at]` filter
must be provided.
required: true
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[muted]
schema:
type: boolean
description: If this filter is not provided, muted and non-muted findings
will be returned.
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_name]
schema:
type: string
- in: query
name: filter[resource_name__icontains]
schema:
type: string
- in: query
name: filter[resource_name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_type]
schema:
type: string
- in: query
name: filter[resource_type__icontains]
schema:
type: string
- in: query
name: filter[resource_type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_uid]
schema:
type: string
- in: query
name: filter[resource_uid__icontains]
schema:
type: string
- in: query
name: filter[resource_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resources]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan]
schema:
type: string
format: uuid
- in: query
name: filter[scan__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[severity]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[severity__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[status]
schema:
type: string
x-spec-enum-id: ce612ddbfa464789
enum:
- FAIL
- MANUAL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- scan
- resources
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- status
- -status
- severity
- -severity
- check_id
- -check_id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Finding
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedFindingList'
description: ''
/api/v1/findings/{id}:
get:
operationId: findings_retrieve
description: Fetch detailed information about a specific finding by its ID.
summary: Retrieve data from a specific finding
parameters:
- in: query
name: fields[findings]
schema:
type: array
items:
type: string
enum:
- uid
- delta
- status
- status_extended
- severity
- check_id
- check_metadata
- raw_result
- inserted_at
- updated_at
- first_seen_at
- muted
- muted_reason
- url
- scan
- resources
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this finding.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- scan
- resources
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Finding
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/FindingResponse'
description: ''
/api/v1/findings/findings_services_regions:
get:
operationId: findings_findings_services_regions_retrieve
description: Fetch services and regions affected in findings.
summary: Retrieve the services and regions that are impacted by findings
parameters:
- in: query
name: fields[finding-dynamic-filters]
schema:
type: array
items:
type: string
enum:
- services
- regions
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[check_id]
schema:
type: string
- in: query
name: filter[check_id__icontains]
schema:
type: string
- in: query
name: filter[check_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[delta]
schema:
type: string
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
enum:
- changed
- new
description: |-
* `new` - New
* `changed` - Changed
- in: query
name: filter[delta__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[impact]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[impact__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[muted]
schema:
type: boolean
description: If this filter is not provided, muted and non-muted findings
will be returned.
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_name]
schema:
type: string
- in: query
name: filter[resource_name__icontains]
schema:
type: string
- in: query
name: filter[resource_name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_type]
schema:
type: string
- in: query
name: filter[resource_type__icontains]
schema:
type: string
- in: query
name: filter[resource_type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_uid]
schema:
type: string
- in: query
name: filter[resource_uid__icontains]
schema:
type: string
- in: query
name: filter[resource_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resources]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan]
schema:
type: string
format: uuid
- in: query
name: filter[scan__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[severity]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[severity__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[status]
schema:
type: string
x-spec-enum-id: ce612ddbfa464789
enum:
- FAIL
- MANUAL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- status
- -status
- severity
- -severity
- check_id
- -check_id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Finding
security:
- JWT or API Key: []
deprecated: true
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/FindingDynamicFilterResponse'
description: ''
/api/v1/findings/latest:
get:
operationId: findings_latest_retrieve
description: Retrieve a list of the latest findings from the latest scans for
each provider with options for filtering by various criteria.
summary: List the latest findings
parameters:
- in: query
name: fields[findings]
schema:
type: array
items:
type: string
enum:
- uid
- delta
- status
- status_extended
- severity
- check_id
- check_metadata
- raw_result
- inserted_at
- updated_at
- first_seen_at
- muted
- muted_reason
- url
- scan
- resources
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[check_id]
schema:
type: string
- in: query
name: filter[check_id__icontains]
schema:
type: string
- in: query
name: filter[check_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[delta]
schema:
type: string
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
enum:
- changed
- new
description: |-
* `new` - New
* `changed` - Changed
- in: query
name: filter[delta__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[impact]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[impact__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[muted]
schema:
type: boolean
description: If this filter is not provided, muted and non-muted findings
will be returned.
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_name]
schema:
type: string
- in: query
name: filter[resource_name__icontains]
schema:
type: string
- in: query
name: filter[resource_name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_type]
schema:
type: string
- in: query
name: filter[resource_type__icontains]
schema:
type: string
- in: query
name: filter[resource_type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_uid]
schema:
type: string
- in: query
name: filter[resource_uid__icontains]
schema:
type: string
- in: query
name: filter[resource_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resources]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[severity]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[severity__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[status]
schema:
type: string
x-spec-enum-id: ce612ddbfa464789
enum:
- FAIL
- MANUAL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- scan
- resources
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- status
- -status
- severity
- -severity
- check_id
- -check_id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Finding
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/FindingResponse'
description: ''
/api/v1/findings/metadata:
get:
operationId: findings_metadata_retrieve
description: Fetch unique metadata values from a set of findings. This is useful
for dynamic filtering.
summary: Retrieve metadata values from findings
parameters:
- in: query
name: fields[findings-metadata]
schema:
type: array
items:
type: string
enum:
- services
- regions
- resource_types
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[check_id]
schema:
type: string
- in: query
name: filter[check_id__icontains]
schema:
type: string
- in: query
name: filter[check_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[delta]
schema:
type: string
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
enum:
- changed
- new
description: |-
* `new` - New
* `changed` - Changed
- in: query
name: filter[delta__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[impact]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[impact__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
description: At least one of the variations of the `filter[inserted_at]` filter
must be provided.
required: true
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date
description: Maximum date range is 7 days.
- in: query
name: filter[muted]
schema:
type: boolean
description: If this filter is not provided, muted and non-muted findings
will be returned.
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_name]
schema:
type: string
- in: query
name: filter[resource_name__icontains]
schema:
type: string
- in: query
name: filter[resource_name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_type]
schema:
type: string
- in: query
name: filter[resource_type__icontains]
schema:
type: string
- in: query
name: filter[resource_type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_uid]
schema:
type: string
- in: query
name: filter[resource_uid__icontains]
schema:
type: string
- in: query
name: filter[resource_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resources]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan]
schema:
type: string
format: uuid
- in: query
name: filter[scan__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[severity]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[severity__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[status]
schema:
type: string
x-spec-enum-id: ce612ddbfa464789
enum:
- FAIL
- MANUAL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- status
- -status
- severity
- -severity
- check_id
- -check_id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Finding
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/FindingMetadataResponse'
description: ''
/api/v1/findings/metadata/latest:
get:
operationId: findings_metadata_latest_retrieve
description: Fetch unique metadata values from a set of findings from the latest
scans for each provider. This is useful for dynamic filtering.
summary: Retrieve metadata values from the latest findings
parameters:
- in: query
name: fields[findings-metadata]
schema:
type: array
items:
type: string
enum:
- services
- regions
- resource_types
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[check_id]
schema:
type: string
- in: query
name: filter[check_id__icontains]
schema:
type: string
- in: query
name: filter[check_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[delta]
schema:
type: string
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
enum:
- changed
- new
description: |-
* `new` - New
* `changed` - Changed
- in: query
name: filter[delta__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[impact]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[impact__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[muted]
schema:
type: boolean
description: If this filter is not provided, muted and non-muted findings
will be returned.
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_name]
schema:
type: string
- in: query
name: filter[resource_name__icontains]
schema:
type: string
- in: query
name: filter[resource_name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_type]
schema:
type: string
- in: query
name: filter[resource_type__icontains]
schema:
type: string
- in: query
name: filter[resource_type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resource_uid]
schema:
type: string
- in: query
name: filter[resource_uid__icontains]
schema:
type: string
- in: query
name: filter[resource_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[resources]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[severity]
schema:
type: string
x-spec-enum-id: c93e070ed135d9bf
enum:
- critical
- high
- informational
- low
- medium
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
- in: query
name: filter[severity__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[status]
schema:
type: string
x-spec-enum-id: ce612ddbfa464789
enum:
- FAIL
- MANUAL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- status
- -status
- severity
- -severity
- check_id
- -check_id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Finding
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/FindingMetadataResponse'
description: ''
/api/v1/integrations:
get:
operationId: integrations_list
description: Retrieve a list of all configured integrations with options for
filtering by various criteria.
summary: List all integrations
parameters:
- in: query
name: fields[integrations]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- enabled
- connected
- connection_last_checked_at
- integration_type
- configuration
- providers
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[integration_type]
schema:
type: string
x-spec-enum-id: 6cfd0ff9cf4d6dcc
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
- in: query
name: filter[integration_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: 6cfd0ff9cf4d6dcc
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
description: |-
Multiple values may be separated by commas.
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- providers
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- enabled
- -enabled
- connected
- -connected
- connection_last_checked_at
- -connection_last_checked_at
- integration_type
- -integration_type
- configuration
- -configuration
- providers
- -providers
- url
- -url
explode: false
tags:
- Integration
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedIntegrationList'
description: ''
post:
operationId: integrations_create
description: Register a new integration with the system, providing necessary
configuration details.
summary: Create a new integration
tags:
- Integration
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/IntegrationCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/IntegrationCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/IntegrationCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/IntegrationCreateResponse'
description: ''
/api/v1/integrations/{integration_pk}/jira/dispatches:
post:
operationId: integrations_jira_dispatches_create
description: Send a set of filtered findings to the given integration. At least
one finding filter must be provided.
summary: Send findings to a Jira integration
parameters:
- in: query
name: filter[finding_id]
schema:
type: string
format: uuid
- in: query
name: filter[finding_id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: path
name: integration_pk
schema:
type: string
required: true
tags:
- Integration
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/IntegrationJiraDispatchRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/IntegrationJiraDispatchRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/IntegrationJiraDispatchRequest'
required: true
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/integrations/{id}:
get:
operationId: integrations_retrieve
description: Fetch detailed information about a specific integration by its
ID.
summary: Retrieve integration details
parameters:
- in: query
name: fields[integrations]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- enabled
- connected
- connection_last_checked_at
- integration_type
- configuration
- providers
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this integration.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- providers
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Integration
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/IntegrationResponse'
description: ''
patch:
operationId: integrations_partial_update
description: Modify certain fields of an existing integration without affecting
other settings.
summary: Partially update an integration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this integration.
required: true
tags:
- Integration
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedIntegrationUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedIntegrationUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedIntegrationUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/IntegrationUpdateResponse'
description: ''
delete:
operationId: integrations_destroy
description: Remove an integration from the system by its ID.
summary: Delete an integration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this integration.
required: true
tags:
- Integration
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/integrations/{id}/connection:
post:
operationId: integrations_connection_create
description: Try to verify integration connection
summary: Check integration connection
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this integration.
required: true
tags:
- Integration
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/invitations/accept:
post:
operationId: invitations_accept_create
description: Accept an invitation to an existing tenant. This invitation cannot
be expired and the emails must match.
summary: Accept an invitation
tags:
- Invitation
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/InvitationAcceptRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InvitationAcceptRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InvitationAcceptRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OpenApiResponseResponse'
description: ''
/api/v1/lighthouse-configurations:
get:
operationId: lighthouse_configurations_list
description: Retrieve a list of all Lighthouse AI configurations.
summary: List all Lighthouse AI configurations
parameters:
- in: query
name: fields[lighthouse-configurations]
schema:
type: array
items:
type: string
enum:
- name
- api_key
- model
- temperature
- max_tokens
- business_context
- is_active
- inserted_at
- updated_at
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- is_active
- -is_active
explode: false
tags:
- Lighthouse AI
security:
- JWT or API Key: []
deprecated: true
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedLighthouseConfigList'
description: ''
post:
operationId: lighthouse_configurations_create
description: Create a new Lighthouse AI configuration with the specified details.
summary: Create a new Lighthouse AI configuration
tags:
- Lighthouse AI
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseConfigCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LighthouseConfigCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LighthouseConfigCreateRequest'
required: true
security:
- JWT or API Key: []
deprecated: true
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseConfigCreateResponse'
description: ''
/api/v1/lighthouse-configurations/{id}:
patch:
operationId: lighthouse_configurations_partial_update
description: Update certain fields of an existing Lighthouse AI configuration.
summary: Partially update a Lighthouse AI configuration
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Lighthouse AI
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedLighthouseConfigUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLighthouseConfigUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLighthouseConfigUpdateRequest'
required: true
security:
- JWT or API Key: []
deprecated: true
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseConfigUpdateResponse'
description: ''
delete:
operationId: lighthouse_configurations_destroy
description: Remove a Lighthouse AI configuration by its ID.
summary: Delete a Lighthouse AI configuration
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
deprecated: true
responses:
'204':
description: No response body
/api/v1/lighthouse-configurations/{id}/connection:
post:
operationId: lighthouse_configurations_connection_create
description: Verify the connection to the OpenAI API for a specific Lighthouse
AI configuration.
summary: Check the connection to the OpenAI API
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
deprecated: true
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/lighthouse/configuration:
get:
operationId: lighthouse_configuration_list
description: Retrieve current tenant-level Lighthouse AI settings. Returns a
single configuration object.
summary: Get Lighthouse AI Tenant config
parameters:
- in: query
name: fields[lighthouse-configurations]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- business_context
- default_provider
- default_models
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- business_context
- -business_context
- default_provider
- -default_provider
- default_models
- -default_models
- url
- -url
explode: false
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedLighthouseTenantConfigList'
description: ''
patch:
operationId: lighthouse_configuration_partial_update
description: Update tenant-level settings. Validates that the default provider
is configured and active and that default model IDs exist for the chosen providers.
Auto-creates configuration if it doesn't exist.
summary: Update Lighthouse AI Tenant config
tags:
- Lighthouse AI
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedLighthouseTenantConfigUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLighthouseTenantConfigUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLighthouseTenantConfigUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseTenantConfigUpdateResponse'
description: ''
/api/v1/lighthouse/models:
get:
operationId: lighthouse_models_list
description: List available LLM models per configured provider for the current
tenant.
summary: List all LLM models
parameters:
- in: query
name: fields[lighthouse-models]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider_configuration
- model_id
- model_name
- default_parameters
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[model_id]
schema:
type: string
- in: query
name: filter[model_id__icontains]
schema:
type: string
- in: query
name: filter[model_id__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
enum:
- bedrock
- openai
- openai_compatible
description: |-
LLM provider name
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
enum:
- bedrock
- openai
- openai_compatible
description: |-
Multiple values may be separated by commas.
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- provider_configuration
- -provider_configuration
- model_id
- -model_id
- model_name
- -model_name
- default_parameters
- -default_parameters
- url
- -url
explode: false
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedLighthouseProviderModelsList'
description: ''
/api/v1/lighthouse/models/{id}:
get:
operationId: lighthouse_models_retrieve
description: Get details for a specific LLM model.
summary: Retrieve LLM model details
parameters:
- in: query
name: fields[lighthouse-models]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider_configuration
- model_id
- model_name
- default_parameters
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider models.
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseProviderModelsResponse'
description: ''
/api/v1/lighthouse/providers:
get:
operationId: lighthouse_providers_list
description: Retrieve all LLM provider configurations for the current tenant
summary: List all LLM provider configurations
parameters:
- in: query
name: fields[lighthouse-providers]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider_type
- base_url
- is_active
- credentials
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[is_active]
schema:
type: boolean
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
enum:
- bedrock
- openai
- openai_compatible
description: |-
LLM provider name
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
enum:
- bedrock
- openai
- openai_compatible
description: |-
Multiple values may be separated by commas.
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- provider_type
- -provider_type
- base_url
- -base_url
- is_active
- -is_active
- credentials
- -credentials
- url
- -url
explode: false
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedLighthouseProviderConfigList'
description: ''
post:
operationId: lighthouse_providers_create
description: Create a per-tenant configuration for an LLM provider. Only one
configuration per provider type is allowed per tenant.
summary: Create LLM provider configuration
tags:
- Lighthouse AI
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigCreateResponse'
description: ''
/api/v1/lighthouse/providers/{id}:
get:
operationId: lighthouse_providers_retrieve
description: Get details for a specific provider configuration in the current
tenant.
summary: Retrieve LLM provider configuration
parameters:
- in: query
name: fields[lighthouse-providers]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider_type
- base_url
- is_active
- credentials
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider configuration.
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigResponse'
description: ''
patch:
operationId: lighthouse_providers_partial_update
description: Partially update a provider configuration (e.g., base_url, is_active).
summary: Update LLM provider configuration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider configuration.
required: true
tags:
- Lighthouse AI
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedLighthouseProviderConfigUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLighthouseProviderConfigUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLighthouseProviderConfigUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/LighthouseProviderConfigUpdateResponse'
description: ''
delete:
operationId: lighthouse_providers_destroy
description: Delete a provider configuration. Any tenant defaults that reference
this provider are cleared during deletion.
summary: Delete LLM provider configuration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider configuration.
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/lighthouse/providers/{id}/connection:
post:
operationId: lighthouse_providers_connection_create
description: Validate provider credentials asynchronously and toggle is_active.
summary: Check LLM provider connection
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider configuration.
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/lighthouse/providers/{id}/refresh-models:
post:
operationId: lighthouse_providers_refresh_models_create
description: Fetch available models for this provider configuration and upsert
into catalog. Supports OpenAI, OpenAI-compatible, and AWS Bedrock providers.
summary: Refresh LLM models catalog
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this lighthouse provider configuration.
required: true
tags:
- Lighthouse AI
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/mute-rules:
get:
operationId: mute_rules_list
description: Retrieve a list of all mute rules with filtering options.
summary: List all mute rules
parameters:
- in: query
name: fields[mute-rules]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- name
- reason
- enabled
- created_by
- finding_uids
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[created_by]
schema:
type: string
format: uuid
- in: query
name: filter[enabled]
schema:
type: boolean
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[reason__icontains]
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- created_by
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- enabled
- -enabled
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Mute Rules
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedMuteRuleList'
description: ''
post:
operationId: mute_rules_create
description: Create a new mute rule by providing finding IDs, name, and reason.
The rule will immediately mute the selected findings and launch a background
task to mute all historical findings with matching UIDs.
summary: Create a new mute rule
tags:
- Mute Rules
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MuteRuleCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MuteRuleCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MuteRuleCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MuteRuleCreateResponse'
description: ''
/api/v1/mute-rules/{id}:
get:
operationId: mute_rules_retrieve
description: Fetch detailed information about a specific mute rule by ID.
summary: Retrieve a mute rule
parameters:
- in: query
name: fields[mute-rules]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- name
- reason
- enabled
- created_by
- finding_uids
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this mute rule.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- created_by
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Mute Rules
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MuteRuleResponse'
description: ''
patch:
operationId: mute_rules_partial_update
description: Update certain fields of an existing mute rule (e.g., name, reason,
enabled).
summary: Partially update a mute rule
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this mute rule.
required: true
tags:
- Mute Rules
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedMuteRuleUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedMuteRuleUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedMuteRuleUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SerializerMetaclassResponse'
description: ''
delete:
operationId: mute_rules_destroy
description: 'Remove a mute rule from the system. Note: Previously muted findings
remain muted.'
summary: Delete a mute rule
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this mute rule.
required: true
tags:
- Mute Rules
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/overviews/findings:
get:
operationId: overviews_findings_retrieve
description: Fetch aggregated findings data across all providers, grouped by
various metrics such as passed, failed, muted, and total findings. This endpoint
calculates summary statistics based on the latest scans for each provider
and applies any provided filters, such as region, provider type, and scan
date.
summary: Get aggregated findings data
parameters:
- in: query
name: fields[findings-overview]
schema:
type: array
items:
type: string
enum:
- id
- new
- changed
- unchanged
- fail_new
- fail_changed
- pass_new
- pass_changed
- muted_new
- muted_changed
- total
- fail
- muted
- pass
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[provider_id]
schema:
type: string
format: uuid
- in: query
name: filter[provider_id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- new
- -new
- changed
- -changed
- unchanged
- -unchanged
- fail_new
- -fail_new
- fail_changed
- -fail_changed
- pass_new
- -pass_new
- pass_changed
- -pass_changed
- muted_new
- -muted_new
- muted_changed
- -muted_changed
- total
- -total
- fail
- -fail
- muted
- -muted
- pass
- -pass
explode: false
tags:
- Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OverviewFindingResponse'
description: ''
/api/v1/overviews/findings_severity:
get:
operationId: overviews_findings_severity_retrieve
description: Retrieve an aggregated summary of findings grouped by severity
levels, such as low, medium, high, and critical. The response includes the
total count of findings for each severity, considering only the latest scans
for each provider. Additional filters can be applied to narrow down results
by region, provider type, or other attributes.
summary: Get findings data by severity
parameters:
- in: query
name: fields[findings-severity-overview]
schema:
type: array
items:
type: string
enum:
- id
- critical
- high
- medium
- low
- informational
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[provider_id]
schema:
type: string
format: uuid
- in: query
name: filter[provider_id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[status]
schema:
type: string
enum:
- FAIL
- PASS
description: |-
* `FAIL` - Fail
* `PASS` - Pass
- in: query
name: filter[status__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- critical
- -critical
- high
- -high
- medium
- -medium
- low
- -low
- informational
- -informational
explode: false
tags:
- Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OverviewSeverityResponse'
description: ''
/api/v1/overviews/providers:
get:
operationId: overviews_providers_retrieve
description: Retrieve an aggregated overview of findings and resources grouped
by providers. The response includes the count of passed, failed, and manual
findings, along with the total number of resources managed by each provider.
Only the latest findings for each provider are considered in the aggregation
to ensure accurate and up-to-date insights.
summary: Get aggregated provider data
parameters:
- in: query
name: fields[providers-overview]
schema:
type: array
items:
type: string
enum:
- id
- findings
- resources
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
tags:
- Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OverviewProviderResponse'
description: ''
/api/v1/overviews/providers/count:
get:
operationId: overviews_providers_count_retrieve
description: Retrieve the number of providers grouped by provider type. This
endpoint counts every provider in the tenant, including those without completed
scans.
summary: Get provider counts grouped by type
parameters:
- in: query
name: fields[providers-count-overview]
schema:
type: array
items:
type: string
enum:
- id
- count
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
tags:
- Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OverviewProviderCountResponse'
description: ''
/api/v1/overviews/services:
get:
operationId: overviews_services_retrieve
description: Retrieve an aggregated summary of findings grouped by service.
The response includes the total count of findings for each service, as long
as there are at least one finding for that service. At least one of the `inserted_at`
filters must be provided.
summary: Get findings data by service
parameters:
- in: query
name: fields[services-overview]
schema:
type: array
items:
type: string
enum:
- id
- total
- fail
- muted
- pass
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[provider_id]
schema:
type: string
format: uuid
- in: query
name: filter[provider_id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- total
- -total
- fail
- -fail
- muted
- -muted
- pass
- -pass
explode: false
tags:
- Overview
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/OverviewServiceResponse'
description: ''
/api/v1/processors:
get:
operationId: processors_list
description: Retrieve a list of all configured processors with options for filtering
by various criteria.
summary: List all processors
parameters:
- in: query
name: fields[processors]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- processor_type
- configuration
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[processor_type]
schema:
type: string
x-spec-enum-id: 53cda4a99fe3d655
enum:
- mutelist
description: '* `mutelist` - Mutelist'
- in: query
name: filter[processor_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: 53cda4a99fe3d655
enum:
- mutelist
description: |-
Multiple values may be separated by commas.
* `mutelist` - Mutelist
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- processor_type
- -processor_type
- configuration
- -configuration
- url
- -url
explode: false
tags:
- Processor
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedProcessorList'
description: ''
post:
operationId: processors_create
description: Register a new processor with the system, providing necessary configuration
details. There can only be one processor of each type per tenant.
summary: Create a new processor
tags:
- Processor
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProcessorCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProcessorCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProcessorCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProcessorCreateResponse'
description: ''
/api/v1/processors/{id}:
get:
operationId: processors_retrieve
description: Fetch detailed information about a specific processor by its ID.
summary: Retrieve processor details
parameters:
- in: query
name: fields[processors]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- processor_type
- configuration
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this processor.
required: true
tags:
- Processor
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProcessorResponse'
description: ''
patch:
operationId: processors_partial_update
description: Modify certain fields of an existing processor without affecting
other settings.
summary: Partially update a processor
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this processor.
required: true
tags:
- Processor
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedProcessorUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProcessorUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProcessorUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProcessorUpdateResponse'
description: ''
delete:
operationId: processors_destroy
description: Remove a processor from the system by its ID.
summary: Delete a processor
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this processor.
required: true
tags:
- Processor
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/provider-groups:
get:
operationId: provider_groups_list
description: Retrieve a list of all provider groups with options for filtering
by various criteria.
summary: List all provider groups
parameters:
- in: query
name: fields[provider-groups]
schema:
type: array
items:
type: string
enum:
- name
- inserted_at
- updated_at
- providers
- roles
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- name
- -name
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- providers
- -providers
- roles
- -roles
- url
- -url
explode: false
tags:
- Provider Group
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedProviderGroupList'
description: ''
post:
operationId: provider_groups_create
description: Add a new provider group to the system by providing the required
provider group details.
summary: Create a new provider group
tags:
- Provider Group
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderGroupCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProviderGroupCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProviderGroupCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderGroupCreateResponse'
description: ''
/api/v1/provider-groups/{id}:
get:
operationId: provider_groups_retrieve
description: Fetch detailed information about a specific provider group by their
ID.
summary: Retrieve data from a provider group
parameters:
- in: query
name: fields[provider-groups]
schema:
type: array
items:
type: string
enum:
- name
- inserted_at
- updated_at
- providers
- roles
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider group.
required: true
tags:
- Provider Group
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderGroupResponse'
description: ''
patch:
operationId: provider_groups_partial_update
description: Update certain fields of an existing provider group's information
without affecting other fields.
summary: Partially update a provider group
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider group.
required: true
tags:
- Provider Group
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedProviderGroupUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProviderGroupUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProviderGroupUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SerializerMetaclassResponse'
description: ''
delete:
operationId: provider_groups_destroy
description: Remove a provider group from the system by their ID.
summary: Delete a provider group
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider group.
required: true
tags:
- Provider Group
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/provider-groups/{id}/relationships/providers:
post:
operationId: provider_groups_relationships_providers_create
description: Add a new provider_group-providers relationship to the system by
providing the required provider_group-providers details.
summary: Create a new provider_group-providers relationship
tags:
- Provider Group
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderGroupMembershipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProviderGroupMembershipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProviderGroupMembershipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship created successfully
'400':
description: Bad request (e.g., relationship already exists)
patch:
operationId: provider_groups_relationships_providers_partial_update
description: Update the provider_group-providers relationship information without
affecting other fields.
summary: Partially update a provider_group-providers relationship
tags:
- Provider Group
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedProviderGroupMembershipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProviderGroupMembershipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProviderGroupMembershipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship updated successfully
delete:
operationId: provider_groups_relationships_providers_destroy
description: Remove the provider_group-providers relationship from the system
by their ID.
summary: Delete a provider_group-providers relationship
tags:
- Provider Group
security:
- JWT or API Key: []
responses:
'204':
description: Relationship deleted successfully
/api/v1/providers:
get:
operationId: providers_list
description: Retrieve a list of all providers with options for filtering by
various criteria.
summary: List all providers
parameters:
- in: query
name: fields[providers]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider
- uid
- alias
- connection
- secret
- provider_groups
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[alias]
schema:
type: string
- in: query
name: filter[alias__icontains]
schema:
type: string
- in: query
name: filter[alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[connected]
schema:
type: boolean
description: |-
Filter by connection status. Set to True to return only
connected providers, or False to return only providers with failed
connections. If not specified, both connected and failed providers are
included. Providers with no connection attempt (status is null) are
excluded from this filter.
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
description: |-
Filter by date when the provider was added
(format: YYYY-MM-DD)
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[provider]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__icontains]
schema:
type: string
- in: query
name: filter[uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
description: |-
Filter by date when the provider was updated
(format: YYYY-MM-DD)
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- provider_groups
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- provider
- -provider
- uid
- -uid
- alias
- -alias
- connected
- -connected
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Provider
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedProviderList'
description: ''
post:
operationId: providers_create
description: Add a new provider to the system by providing the required provider
details.
summary: Create a new provider
tags:
- Provider
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProviderCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProviderCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderCreateResponse'
description: ''
/api/v1/providers/{id}:
get:
operationId: providers_retrieve
description: Fetch detailed information about a specific provider by their ID.
summary: Retrieve data from a provider
parameters:
- in: query
name: fields[providers]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- provider
- uid
- alias
- connection
- secret
- provider_groups
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- provider_groups
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Provider
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderResponse'
description: ''
patch:
operationId: providers_partial_update
description: Update certain fields of an existing provider's information without
affecting other fields.
summary: Partially update a provider
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider.
required: true
tags:
- Provider
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedProviderUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProviderUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProviderUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SerializerMetaclassResponse'
description: ''
delete:
operationId: providers_destroy
description: Remove a provider from the system by their ID.
summary: Delete a provider
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider.
required: true
tags:
- Provider
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/providers/{id}/connection:
post:
operationId: providers_connection_create
description: Try to verify connection. For instance, Role & Credentials are
set correctly
summary: Check connection
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this provider.
required: true
tags:
- Provider
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/providers/secrets:
get:
operationId: providers_secrets_list
description: Retrieve a list of all secrets with options for filtering by various
criteria.
summary: List all secrets
parameters:
- in: query
name: fields[provider-secrets]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- name
- secret_type
- provider
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
description: 'Filter by date when the secret was added (format: YYYY-MM-DD)'
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
description: 'Filter by date when the secret was updated (format: YYYY-MM-DD)'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Provider
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedProviderSecretList'
description: ''
post:
operationId: providers_secrets_create
description: Add a new secret to the system by providing the required secret
details.
summary: Create a new secret
tags:
- Provider
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderSecretCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProviderSecretCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProviderSecretCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderSecretCreateResponse'
description: ''
/api/v1/providers/secrets/{id}:
get:
operationId: providers_secrets_retrieve
description: Fetch detailed information about a specific secret by their ID.
summary: Retrieve data from a secret
parameters:
- in: query
name: fields[provider-secrets]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- name
- secret_type
- provider
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Provider
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderSecretResponse'
description: ''
patch:
operationId: providers_secrets_partial_update
description: Update certain fields of an existing secret's information without
affecting other fields.
summary: Partially update a secret
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Provider
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedProviderSecretUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProviderSecretUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProviderSecretUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ProviderSecretUpdateResponse'
description: ''
delete:
operationId: providers_secrets_destroy
description: Remove a secret from the system by their ID.
summary: Delete a secret
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Provider
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/resources:
get:
operationId: resources_list
description: Retrieve a list of all resources with options for filtering by
various criteria. Resources are objects that are discovered by Prowler. They
can be anything from a single host to a whole VPC.
summary: List all resources
parameters:
- in: query
name: fields[resources]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- uid
- name
- region
- service
- tags
- provider
- findings
- failed_findings_count
- url
- type
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan]
schema:
type: string
format: uuid
- in: query
name: filter[scan__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[tag]
schema:
type: string
- in: query
name: filter[tag_key]
schema:
type: string
- in: query
name: filter[tag_value]
schema:
type: string
- in: query
name: filter[tags]
schema:
type: string
- in: query
name: filter[type]
schema:
type: string
- in: query
name: filter[type__icontains]
schema:
type: string
- in: query
name: filter[type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__icontains]
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
description: At least one of the variations of the `filter[updated_at]` filter
must be provided.
required: true
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- findings
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- provider_uid
- -provider_uid
- uid
- -uid
- name
- -name
- region
- -region
- service
- -service
- type
- -type
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Resource
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedResourceList'
description: ''
/api/v1/resources/{id}:
get:
operationId: resources_retrieve
description: Fetch detailed information about a specific resource by their ID.
A Resource is an object that is discovered by Prowler. It can be anything
from a single host to a whole VPC.
summary: Retrieve data for a resource
parameters:
- in: query
name: fields[resources]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- uid
- name
- region
- service
- tags
- provider
- findings
- failed_findings_count
- url
- type
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this resource.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- findings
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Resource
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ResourceResponse'
description: ''
/api/v1/resources/latest:
get:
operationId: resources_latest_retrieve
description: Retrieve a list of the latest resources from the latest scans for
each provider with options for filtering by various criteria.
summary: List the latest resources
parameters:
- in: query
name: fields[resources]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- uid
- name
- region
- service
- tags
- provider
- findings
- failed_findings_count
- url
- type
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[tag]
schema:
type: string
- in: query
name: filter[tag_key]
schema:
type: string
- in: query
name: filter[tag_value]
schema:
type: string
- in: query
name: filter[tags]
schema:
type: string
- in: query
name: filter[type]
schema:
type: string
- in: query
name: filter[type__icontains]
schema:
type: string
- in: query
name: filter[type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__icontains]
schema:
type: string
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- findings
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- provider_uid
- -provider_uid
- uid
- -uid
- name
- -name
- region
- -region
- service
- -service
- type
- -type
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Resource
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ResourceResponse'
description: ''
/api/v1/resources/metadata:
get:
operationId: resources_metadata_retrieve
description: Fetch unique metadata values from a set of resources. This is useful
for dynamic filtering.
summary: Retrieve metadata values from resources
parameters:
- in: query
name: fields[resources-metadata]
schema:
type: array
items:
type: string
enum:
- services
- regions
- types
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[scan]
schema:
type: string
format: uuid
- in: query
name: filter[scan__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[tag]
schema:
type: string
- in: query
name: filter[tag_key]
schema:
type: string
- in: query
name: filter[tag_value]
schema:
type: string
- in: query
name: filter[tags]
schema:
type: string
- in: query
name: filter[type]
schema:
type: string
- in: query
name: filter[type__icontains]
schema:
type: string
- in: query
name: filter[type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__icontains]
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
description: At least one of the variations of the `filter[updated_at]` filter
must be provided.
required: true
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- provider_uid
- -provider_uid
- uid
- -uid
- name
- -name
- region
- -region
- service
- -service
- type
- -type
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Resource
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ResourceMetadataResponse'
description: ''
/api/v1/resources/metadata/latest:
get:
operationId: resources_metadata_latest_retrieve
description: Fetch unique metadata values from a set of resources from the latest
scans for each provider. This is useful for dynamic filtering.
summary: Retrieve metadata values from the latest resources
parameters:
- in: query
name: fields[resources-metadata]
schema:
type: array
items:
type: string
enum:
- services
- regions
- types
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[region]
schema:
type: string
- in: query
name: filter[region__icontains]
schema:
type: string
- in: query
name: filter[region__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[service]
schema:
type: string
- in: query
name: filter[service__icontains]
schema:
type: string
- in: query
name: filter[service__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[tag]
schema:
type: string
- in: query
name: filter[tag_key]
schema:
type: string
- in: query
name: filter[tag_value]
schema:
type: string
- in: query
name: filter[tags]
schema:
type: string
- in: query
name: filter[type]
schema:
type: string
- in: query
name: filter[type__icontains]
schema:
type: string
- in: query
name: filter[type__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[uid]
schema:
type: string
- in: query
name: filter[uid__icontains]
schema:
type: string
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- provider_uid
- -provider_uid
- uid
- -uid
- name
- -name
- region
- -region
- service
- -service
- type
- -type
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Resource
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ResourceMetadataResponse'
description: ''
/api/v1/roles:
get:
operationId: roles_list
description: Retrieve a list of all roles with options for filtering by various
criteria.
summary: List all roles
parameters:
- in: query
name: fields[roles]
schema:
type: array
items:
type: string
enum:
- name
- manage_users
- manage_account
- manage_integrations
- manage_providers
- manage_scans
- permission_state
- unlimited_visibility
- inserted_at
- updated_at
- provider_groups
- users
- invitations
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[id]
schema:
type: string
format: uuid
- in: query
name: filter[id__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[permission_state]
schema:
type: string
enum:
- limited
- none
- unlimited
description: |-
* `unlimited` - Unlimited permissions
* `limited` - Limited permissions
* `none` - No permissions
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- name
- -name
- manage_users
- -manage_users
- manage_account
- -manage_account
- manage_integrations
- -manage_integrations
- manage_providers
- -manage_providers
- manage_scans
- -manage_scans
- permission_state
- -permission_state
- unlimited_visibility
- -unlimited_visibility
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- provider_groups
- -provider_groups
- users
- -users
- invitations
- -invitations
- url
- -url
explode: false
tags:
- Role
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedRoleList'
description: ''
post:
operationId: roles_create
description: Add a new role to the system by providing the required role details.
summary: Create a new role
tags:
- Role
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/RoleCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RoleCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RoleCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/RoleCreateResponse'
description: ''
/api/v1/roles/{id}:
get:
operationId: roles_retrieve
description: Fetch detailed information about a specific role by their ID.
summary: Retrieve data from a role
parameters:
- in: query
name: fields[roles]
schema:
type: array
items:
type: string
enum:
- name
- manage_users
- manage_account
- manage_integrations
- manage_providers
- manage_scans
- permission_state
- unlimited_visibility
- inserted_at
- updated_at
- provider_groups
- users
- invitations
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this role.
required: true
tags:
- Role
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/RoleResponse'
description: ''
patch:
operationId: roles_partial_update
description: Update selected fields on an existing role. When changing the `users`
relationship of a role that grants MANAGE_ACCOUNT, the API blocks attempts
that would leave the tenant without any MANAGE_ACCOUNT assignees and prevents
callers from removing their own assignment to that role.
summary: Partially update a role
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this role.
required: true
tags:
- Role
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedRoleUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRoleUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRoleUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SerializerMetaclassResponse'
description: ''
delete:
operationId: roles_destroy
description: Delete the specified role. The API rejects deletion of the last
role in the tenant that grants MANAGE_ACCOUNT.
summary: Delete a role
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this role.
required: true
tags:
- Role
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/roles/{id}/relationships/provider_groups:
post:
operationId: roles_relationships_provider_groups_create
description: Add a new role-provider_groups relationship to the system by providing
the required role-provider_groups details.
summary: Create a new role-provider_groups relationship
tags:
- Role
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/RoleProviderGroupRelationshipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RoleProviderGroupRelationshipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RoleProviderGroupRelationshipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship created successfully
'400':
description: Bad request (e.g., relationship already exists)
patch:
operationId: roles_relationships_provider_groups_partial_update
description: Update the role-provider_groups relationship information without
affecting other fields.
summary: Partially update a role-provider_groups relationship
tags:
- Role
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedRoleProviderGroupRelationshipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRoleProviderGroupRelationshipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRoleProviderGroupRelationshipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship updated successfully
delete:
operationId: roles_relationships_provider_groups_destroy
description: Remove the role-provider_groups relationship from the system by
their ID.
summary: Delete a role-provider_groups relationship
tags:
- Role
security:
- JWT or API Key: []
responses:
'204':
description: Relationship deleted successfully
/api/v1/saml-config:
get:
operationId: saml_config_list
description: Returns all the SAML-based SSO configurations associated with the
current tenant.
summary: List all SSO configurations
parameters:
- in: query
name: fields[saml-configurations]
schema:
type: array
items:
type: string
enum:
- email_domain
- metadata_xml
- created_at
- updated_at
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- email_domain
- -email_domain
- metadata_xml
- -metadata_xml
- created_at
- -created_at
- updated_at
- -updated_at
explode: false
tags:
- SAML
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedSAMLConfigurationList'
description: ''
post:
operationId: saml_config_create
description: Creates a new SAML SSO configuration for the current tenant, including
email domain and metadata XML.
summary: Create the SSO configuration
tags:
- SAML
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SAMLConfigurationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SAMLConfigurationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/SAMLConfigurationRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SAMLConfigurationResponse'
description: ''
/api/v1/saml-config/{id}:
get:
operationId: saml_config_retrieve
description: Returns the details of a specific SAML configuration belonging
to the current tenant.
summary: Retrieve SSO configuration details
parameters:
- in: query
name: fields[saml-configurations]
schema:
type: array
items:
type: string
enum:
- email_domain
- metadata_xml
- created_at
- updated_at
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this saml configuration.
required: true
tags:
- SAML
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SAMLConfigurationResponse'
description: ''
patch:
operationId: saml_config_partial_update
description: Partially updates an existing SAML SSO configuration. Supports
changes to email domain and metadata XML.
summary: Update the SSO configuration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this saml configuration.
required: true
tags:
- SAML
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedSAMLConfigurationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedSAMLConfigurationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedSAMLConfigurationRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/SAMLConfigurationResponse'
description: ''
delete:
operationId: saml_config_destroy
description: Deletes an existing SAML SSO configuration associated with the
current tenant.
summary: Delete the SSO configuration
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this saml configuration.
required: true
tags:
- SAML
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/scans:
get:
operationId: scans_list
description: Retrieve a list of all scans with options for filtering by various
criteria.
summary: List all scans
parameters:
- in: query
name: fields[scans]
schema:
type: array
items:
type: string
enum:
- name
- trigger
- state
- unique_resource_count
- progress
- duration
- provider
- task
- inserted_at
- started_at
- completed_at
- scheduled_at
- next_scan_at
- processor
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[completed_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- in: query
name: filter[next_scan_at]
schema:
type: string
format: date
- in: query
name: filter[next_scan_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[next_scan_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[provider]
schema:
type: string
format: uuid
- in: query
name: filter[provider__in]
schema:
type: array
items:
type: string
format: uuid
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_alias]
schema:
type: string
- in: query
name: filter[provider_alias__icontains]
schema:
type: string
- in: query
name: filter[provider_alias__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: filter[provider_type]
schema:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
- in: query
name: filter[provider_type__in]
schema:
type: array
items:
type: string
x-spec-enum-id: cfe6f885ff538a1a
enum:
- aws
- azure
- gcp
- github
- iac
- kubernetes
- m365
- oraclecloud
description: |-
Multiple values may be separated by commas.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
explode: false
style: form
- in: query
name: filter[provider_uid]
schema:
type: string
- in: query
name: filter[provider_uid__icontains]
schema:
type: string
- in: query
name: filter[provider_uid__in]
schema:
type: array
items:
type: string
description: Multiple values may be separated by commas.
explode: false
style: form
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[started_at]
schema:
type: string
format: date
- in: query
name: filter[started_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[started_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[state]
schema:
type: string
x-spec-enum-id: d38ba07264e1ed34
enum:
- available
- cancelled
- completed
- executing
- failed
- scheduled
description: |-
* `available` - Available
* `scheduled` - Scheduled
* `executing` - Executing
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled
- in: query
name: filter[state__in]
schema:
type: array
items:
type: string
x-spec-enum-id: d38ba07264e1ed34
enum:
- available
- cancelled
- completed
- executing
- failed
- scheduled
description: |-
Multiple values may be separated by commas.
* `available` - Available
* `scheduled` - Scheduled
* `executing` - Executing
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled
explode: false
style: form
- in: query
name: filter[trigger]
schema:
type: string
x-spec-enum-id: 2e52c981d1c89bdf
enum:
- manual
- scheduled
description: |-
* `scheduled` - Scheduled
* `manual` - Manual
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- trigger
- -trigger
- attempted_at
- -attempted_at
- scheduled_at
- -scheduled_at
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Scan
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedScanList'
description: ''
post:
operationId: scans_create
description: Trigger a manual scan by providing the required scan details. If
`scanner_args` are not provided, the system will automatically use the default
settings from the associated provider. If you do provide `scanner_args`, these
settings will be merged with the provider's defaults. This means that your
provided settings will override the defaults only where they conflict, while
the rest of the default settings will remain intact.
summary: Trigger a manual scan
tags:
- Scan
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ScanCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ScanCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ScanCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/scans/{id}:
get:
operationId: scans_retrieve
description: Fetch detailed information about a specific scan by its ID.
summary: Retrieve data from a specific scan
parameters:
- in: query
name: fields[scans]
schema:
type: array
items:
type: string
enum:
- name
- trigger
- state
- unique_resource_count
- progress
- duration
- provider
- task
- inserted_at
- started_at
- completed_at
- scheduled_at
- next_scan_at
- processor
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this scan.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Scan
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ScanResponse'
description: ''
patch:
operationId: scans_partial_update
description: Update certain fields of an existing scan without affecting other
fields.
summary: Partially update a scan
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this scan.
required: true
tags:
- Scan
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedScanUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedScanUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedScanUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ScanUpdateResponse'
description: ''
/api/v1/scans/{id}/compliance/{name}:
get:
operationId: scans_compliance_retrieve
description: Download a specific compliance report (e.g., 'cis_1.4_aws') as
a CSV file.
summary: Retrieve compliance report as CSV
parameters:
- in: query
name: fields[scan-reports]
schema:
type: array
items:
type: string
enum:
- id
- name
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this scan.
required: true
- in: path
name: name
schema:
type: string
description: The compliance report name, like 'cis_1.4_aws'
required: true
tags:
- Scan
security:
- JWT or API Key: []
responses:
'200':
description: CSV file containing the compliance report
'404':
description: Compliance report not found
/api/v1/scans/{id}/report:
get:
operationId: scans_report_retrieve
description: Returns a ZIP file containing the requested report
summary: Download ZIP report
parameters:
- in: query
name: fields[scan-reports]
schema:
type: array
items:
type: string
enum:
- id
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this scan.
required: true
tags:
- Scan
security:
- JWT or API Key: []
responses:
'200':
description: Report obtained successfully
'202':
description: The task is in progress
'403':
description: There is a problem with credentials
'404':
description: The scan has no reports, or the report generation task has
not started yet
/api/v1/scans/{id}/threatscore:
get:
operationId: scans_threatscore_retrieve
description: Download a specific threatscore report (e.g., 'prowler_threatscore_aws')
as a PDF file.
summary: Retrieve threatscore report
parameters:
- in: query
name: fields[scans]
schema:
type: array
items:
type: string
enum:
- name
- trigger
- state
- unique_resource_count
- progress
- duration
- provider
- task
- inserted_at
- started_at
- completed_at
- scheduled_at
- next_scan_at
- processor
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this scan.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- provider
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- Scan
security:
- JWT or API Key: []
responses:
'200':
description: PDF file containing the threatscore report
'202':
description: The task is in progress
'401':
description: API key missing or user not Authenticated
'403':
description: There is a problem with credentials
'404':
description: The scan has no threatscore reports, or the threatscore report
generation task has not started yet
/api/v1/schedules/daily:
post:
operationId: schedules_daily_create
description: Schedules a daily scan for the specified provider. This endpoint
creates a periodic task that will execute a scan every 24 hours.
summary: Create a daily schedule scan for a given provider
tags:
- Schedule
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ScheduleDailyCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ScheduleDailyCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ScheduleDailyCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/tasks:
get:
operationId: tasks_list
description: Retrieve a list of all tasks with options for filtering by name,
state, and other criteria.
summary: List all tasks
parameters:
- in: query
name: fields[tasks]
schema:
type: array
items:
type: string
enum:
- inserted_at
- completed_at
- name
- state
- result
- task_args
- metadata
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[state]
schema:
type: string
title: Task State
enum:
- available
- cancelled
- completed
- executing
- failed
- scheduled
description: |-
Current state of the task being run
* `available` - Available
* `scheduled` - Scheduled
* `executing` - Executing
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- inserted_at
- -inserted_at
- completed_at
- -completed_at
- name
- -name
- state
- -state
explode: false
tags:
- Task
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedTaskList'
description: ''
/api/v1/tasks/{id}:
get:
operationId: tasks_retrieve
description: Fetch detailed information about a specific task by its ID.
summary: Retrieve data from a specific task
parameters:
- in: query
name: fields[tasks]
schema:
type: array
items:
type: string
enum:
- inserted_at
- completed_at
- name
- state
- result
- task_args
- metadata
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this task.
required: true
tags:
- Task
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
description: ''
delete:
operationId: tasks_destroy
description: Try to revoke a task using its ID. Only tasks that are not yet
in progress can be revoked.
summary: Revoke a task
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this task.
required: true
tags:
- Task
security:
- JWT or API Key: []
responses:
'202':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TaskResponse'
examples:
Task queued:
summary: Task queued
value:
data:
type: tasks
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
attributes:
inserted_at: '2019-08-24T14:15:22Z'
completed_at: '2019-08-24T14:15:22Z'
name: string
state: available
result: null
task_args: null
metadata: null
description: ''
/api/v1/tenants:
get:
operationId: tenants_list
description: Retrieve a list of all tenants with options for filtering by various
criteria.
summary: List all tenants
parameters:
- in: query
name: fields[tenants]
schema:
type: array
items:
type: string
enum:
- name
- memberships
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- inserted_at
- -inserted_at
- updated_at
- -updated_at
explode: false
tags:
- Tenant
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedTenantList'
description: ''
post:
operationId: tenants_create
description: Add a new tenant to the system by providing the required tenant
details.
summary: Create a new tenant
tags:
- Tenant
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TenantRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TenantRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantResponse'
description: ''
/api/v1/tenants/{id}:
get:
operationId: tenants_retrieve
description: Fetch detailed information about a specific tenant by their ID.
summary: Retrieve data from a tenant
parameters:
- in: query
name: fields[tenants]
schema:
type: array
items:
type: string
enum:
- name
- memberships
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant.
required: true
tags:
- Tenant
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantResponse'
description: ''
patch:
operationId: tenants_partial_update
description: Update certain fields of an existing tenant's information without
affecting other fields.
summary: Partially update a tenant
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant.
required: true
tags:
- Tenant
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedTenantRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTenantRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTenantRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TenantResponse'
description: ''
delete:
operationId: tenants_destroy
description: Remove a tenant from the system by their ID.
summary: Delete a tenant
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this tenant.
required: true
tags:
- Tenant
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/tenants/{tenant_pk}/memberships:
get:
operationId: tenants_memberships_list
description: List the membership details of users in a tenant you are a part
of.
summary: List tenant memberships
parameters:
- in: query
name: fields[memberships]
schema:
type: array
items:
type: string
enum:
- user
- tenant
- role
- date_joined
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- id
- -id
- user
- -user
- tenant
- -tenant
- role
- -role
- date_joined
- -date_joined
explode: false
- in: path
name: tenant_pk
schema:
type: string
format: uuid
description: Tenant ID
required: true
tags:
- Tenant
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedMembershipList'
description: ''
/api/v1/tenants/{tenant_pk}/memberships/{id}:
delete:
operationId: tenants_memberships_destroy
description: Delete the membership details of users in a tenant. You need to
be one of the owners to delete a membership that is not yours. If you are
the last owner of a tenant, you cannot delete your own membership.
summary: Delete tenant memberships
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this membership.
required: true
- in: path
name: tenant_pk
schema:
type: string
format: uuid
required: true
tags:
- Tenant
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/tenants/invitations:
get:
operationId: tenants_invitations_list
description: Retrieve a list of all tenant invitations with options for filtering
by various criteria.
summary: List all invitations
parameters:
- in: query
name: fields[invitations]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- email
- state
- token
- roles
- expires_at
- inviter
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[email]
schema:
type: string
- in: query
name: filter[email__icontains]
schema:
type: string
- in: query
name: filter[expires_at]
schema:
type: string
format: date
- in: query
name: filter[expires_at__date]
schema:
type: string
format: date
- in: query
name: filter[expires_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[expires_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__date]
schema:
type: string
format: date
- in: query
name: filter[inserted_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[inserted_at__lte]
schema:
type: string
format: date-time
- in: query
name: filter[inviter]
schema:
type: string
format: uuid
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[state]
schema:
type: string
x-spec-enum-id: 92a1c1fd12e13e25
enum:
- accepted
- expired
- pending
- revoked
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
- in: query
name: filter[state__in]
schema:
type: array
items:
type: string
enum:
- accepted
- expired
- pending
- revoked
description: |-
Multiple values may be separated by commas.
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
explode: false
style: form
- in: query
name: filter[updated_at]
schema:
type: string
format: date
- in: query
name: filter[updated_at__date]
schema:
type: string
format: date
- in: query
name: filter[updated_at__gte]
schema:
type: string
format: date-time
- in: query
name: filter[updated_at__lte]
schema:
type: string
format: date-time
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- inserted_at
- -inserted_at
- updated_at
- -updated_at
- expires_at
- -expires_at
- state
- -state
- inviter
- -inviter
explode: false
tags:
- Invitation
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedInvitationList'
description: ''
post:
operationId: tenants_invitations_create
description: Add a new tenant invitation to the system by providing the required
invitation details. The invited user will have to accept the invitations or
create an account using the given code.
summary: Invite a user to a tenant
tags:
- Invitation
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/InvitationCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InvitationCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InvitationCreateRequest'
required: true
security:
- JWT or API Key: []
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/InvitationCreateResponse'
description: ''
/api/v1/tenants/invitations/{id}:
get:
operationId: tenants_invitations_retrieve
description: Fetch detailed information about a specific invitation by its ID.
summary: Retrieve data from a tenant invitation
parameters:
- in: query
name: fields[invitations]
schema:
type: array
items:
type: string
enum:
- inserted_at
- updated_at
- email
- state
- token
- roles
- expires_at
- inviter
- url
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Invitation
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/InvitationResponse'
description: ''
patch:
operationId: tenants_invitations_partial_update
description: Update certain fields of an existing tenant invitation's information
without affecting other fields.
summary: Partially update a tenant invitation
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Invitation
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedInvitationUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedInvitationUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedInvitationUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/InvitationUpdateResponse'
description: ''
delete:
operationId: tenants_invitations_destroy
description: Revoke a tenant invitation from the system by their ID.
summary: Revoke a tenant invitation
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
tags:
- Invitation
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/tokens:
post:
operationId: tokens_create
description: Obtain a token by providing valid credentials and an optional tenant
ID.
summary: Obtain a token
tags:
- Token
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TokenRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TokenRequest'
required: true
security:
- JWT or API Key: []
- {}
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenResponse'
description: ''
/api/v1/tokens/refresh:
post:
operationId: tokens_refresh_create
description: Refresh an access token by providing a valid refresh token. Former
refresh tokens are invalidated when a new one is issued.
summary: Refresh a token
tags:
- Token
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
required: true
security:
- JWT or API Key: []
- {}
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenRefreshResponse'
description: ''
/api/v1/tokens/switch:
post:
operationId: tokens_switch_create
description: Switch tenant by providing a valid tenant ID. The authenticated
user must belong to the tenant.
summary: Switch tenant using a valid tenant ID
tags:
- Token
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenSwitchTenantRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TokenSwitchTenantRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TokenSwitchTenantRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TokenSwitchTenantResponse'
description: ''
/api/v1/users:
get:
operationId: users_list
description: Retrieve a list of all users with options for filtering by various
criteria.
summary: List all users
parameters:
- in: query
name: fields[users]
schema:
type: array
items:
type: string
enum:
- name
- email
- company_name
- date_joined
- memberships
- roles
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[company_name]
schema:
type: string
- in: query
name: filter[company_name__icontains]
schema:
type: string
- in: query
name: filter[date_joined]
schema:
type: string
format: date
- in: query
name: filter[date_joined__date]
schema:
type: string
format: date
- in: query
name: filter[date_joined__gte]
schema:
type: string
format: date-time
- in: query
name: filter[date_joined__lte]
schema:
type: string
format: date-time
- in: query
name: filter[email]
schema:
type: string
- in: query
name: filter[email__icontains]
schema:
type: string
- in: query
name: filter[is_active]
schema:
type: boolean
- in: query
name: filter[name]
schema:
type: string
- in: query
name: filter[name__icontains]
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- roles
- memberships
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- name
- -name
- email
- -email
- company_name
- -company_name
- date_joined
- -date_joined
- is_active
- -is_active
explode: false
tags:
- User
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedUserList'
description: ''
post:
operationId: users_create
description: Create a new user account by providing the necessary registration
details.
summary: Register a new user
parameters:
- in: query
name: invitation_token
schema:
type: string
example: F3NMFPNDZHR4Z9
description: Optional invitation code for joining an existing tenant.
tags:
- User
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserCreateRequest'
required: true
security:
- JWT or API Key: []
- {}
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserCreateResponse'
description: ''
/api/v1/users/{id}:
get:
operationId: users_retrieve
description: Fetch detailed information about an authenticated user.
summary: Retrieve a user's information
parameters:
- in: query
name: fields[users]
schema:
type: array
items:
type: string
enum:
- name
- email
- company_name
- date_joined
- memberships
- roles
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this user.
required: true
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- roles
- memberships
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- User
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserResponse'
description: ''
patch:
operationId: users_partial_update
description: Partially update information about a user.
summary: Update user information
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this user.
required: true
tags:
- User
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedUserUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserUpdateRequest'
required: true
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserUpdateResponse'
description: ''
delete:
operationId: users_destroy
description: Remove the current user account from the system.
summary: Delete the user account
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this user.
required: true
tags:
- User
security:
- JWT or API Key: []
responses:
'204':
description: No response body
/api/v1/users/{id}/relationships/roles:
post:
operationId: users_relationships_roles_create
description: Add a new user-roles relationship to the system by providing the
required user-roles details.
summary: Create a new user-roles relationship
tags:
- User
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserRoleRelationshipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserRoleRelationshipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserRoleRelationshipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship created successfully
'400':
description: Bad request (e.g., relationship already exists)
patch:
operationId: users_relationships_roles_partial_update
description: Update the user-roles relationship information without affecting
other fields. If the update would remove MANAGE_ACCOUNT from the last remaining
user in the tenant, the API rejects the request with a 400 response.
summary: Partially update a user-roles relationship
tags:
- User
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchedUserRoleRelationshipRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserRoleRelationshipRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserRoleRelationshipRequest'
required: true
security:
- JWT or API Key: []
responses:
'204':
description: Relationship updated successfully
delete:
operationId: users_relationships_roles_destroy
description: Remove the user-roles relationship from the system by their ID.
If removing MANAGE_ACCOUNT would take it away from the last remaining user
in the tenant, the API rejects the request with a 400 response. Users also
cannot delete their own role assignments; attempting to do so returns a 400
response.
summary: Delete a user-roles relationship
tags:
- User
security:
- JWT or API Key: []
responses:
'204':
description: Relationship deleted successfully
/api/v1/users/{user_pk}/memberships:
get:
operationId: users_memberships_list
description: Retrieve a list of all user memberships with options for filtering
by various criteria.
summary: List user memberships
parameters:
- in: query
name: fields[memberships]
schema:
type: array
items:
type: string
enum:
- user
- tenant
- role
- date_joined
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: filter[date_joined]
schema:
type: string
format: date
- in: query
name: filter[date_joined__date]
schema:
type: string
format: date
- in: query
name: filter[date_joined__gte]
schema:
type: string
format: date-time
- in: query
name: filter[date_joined__lte]
schema:
type: string
format: date-time
- in: query
name: filter[role]
schema:
type: string
x-spec-enum-id: 12c359ee5dc51001
enum:
- member
- owner
description: |-
* `owner` - Owner
* `member` - Member
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: filter[tenant]
schema:
type: string
format: uuid
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
schema:
type: array
items:
type: string
enum:
- tenant
- -tenant
- role
- -role
- date_joined
- -date_joined
explode: false
- in: path
name: user_pk
schema:
type: string
format: uuid
required: true
tags:
- User
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PaginatedMembershipList'
description: ''
/api/v1/users/{user_pk}/memberships/{id}:
get:
operationId: users_memberships_retrieve
description: Fetch detailed information about a specific user membership by
their ID.
summary: Retrieve membership data from the user
parameters:
- in: query
name: fields[memberships]
schema:
type: array
items:
type: string
enum:
- user
- tenant
- role
- date_joined
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this membership.
required: true
- in: path
name: user_pk
schema:
type: string
format: uuid
required: true
tags:
- User
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MembershipResponse'
description: ''
/api/v1/users/me:
get:
operationId: users_me_retrieve
description: Fetch detailed information about the authenticated user.
summary: Retrieve the current user's information
parameters:
- in: query
name: fields[users]
schema:
type: array
items:
type: string
enum:
- name
- email
- company_name
- date_joined
- memberships
- roles
description: endpoint return only specific fields in the response on a per-type
basis by including a fields[TYPE] query parameter.
explode: false
- in: query
name: include
schema:
type: array
items:
type: string
enum:
- roles
- memberships
description: include query parameter to allow the client to customize which
related resources should be returned.
explode: false
tags:
- User
security:
- JWT or API Key: []
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserResponse'
description: ''
components:
schemas:
ComplianceOverview:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- compliance-overviews
id: {}
attributes:
type: object
properties:
id:
type: string
framework:
type: string
version:
type: string
requirements_passed:
type: integer
requirements_failed:
type: integer
requirements_manual:
type: integer
total_requirements:
type: integer
required:
- id
- framework
- version
- requirements_passed
- requirements_failed
- requirements_manual
- total_requirements
ComplianceOverviewAttributes:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- compliance-requirements-attributes
id: {}
attributes:
type: object
properties:
id:
type: string
compliance_name:
type: string
framework_description:
type: string
name:
type: string
framework:
type: string
version:
type: string
description:
type: string
attributes: {}
required:
- id
- compliance_name
- framework_description
- name
- framework
- version
- description
- attributes
ComplianceOverviewDetail:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- compliance-requirements-details
id: {}
attributes:
type: object
properties:
id:
type: string
framework:
type: string
version:
type: string
description:
type: string
status:
enum:
- FAIL
- PASS
- MANUAL
type: string
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
x-spec-enum-id: ce612ddbfa464789
required:
- id
- framework
- version
- description
- status
ComplianceOverviewMetadata:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- compliance-overviews-metadata
id: {}
attributes:
type: object
properties:
regions:
type: array
items:
type: string
required:
- regions
Finding:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- findings
id:
type: string
format: uuid
attributes:
type: object
properties:
uid:
type: string
maxLength: 300
delta:
enum:
- new
- changed
- null
type: string
description: |-
* `new` - New
* `changed` - Changed
x-spec-enum-id: fef6b0e2506af8bc
nullable: true
status:
enum:
- FAIL
- PASS
- MANUAL
type: string
description: |-
* `FAIL` - Fail
* `PASS` - Pass
* `MANUAL` - Manual
x-spec-enum-id: ce612ddbfa464789
status_extended:
type: string
nullable: true
severity:
enum:
- critical
- high
- medium
- low
- informational
type: string
description: |-
* `critical` - Critical
* `high` - High
* `medium` - Medium
* `low` - Low
* `informational` - Informational
x-spec-enum-id: c93e070ed135d9bf
check_id:
type: string
maxLength: 100
check_metadata: {}
raw_result: {}
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
first_seen_at:
type: string
format: date-time
readOnly: true
nullable: true
muted:
type: boolean
muted_reason:
type: string
nullable: true
minLength: 3
maxLength: 500
required:
- uid
- status
- severity
- check_id
relationships:
type: object
properties:
scan:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- scans
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
resources:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- resources
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type resources
title: resources
readOnly: true
required:
- scan
FindingDynamicFilter:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- finding-dynamic-filters
id: {}
attributes:
type: object
properties:
services:
type: array
items:
type: string
regions:
type: array
items:
type: string
required:
- services
- regions
FindingDynamicFilterResponse:
type: object
properties:
data:
$ref: '#/components/schemas/FindingDynamicFilter'
required:
- data
FindingMetadata:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- findings-metadata
id: {}
attributes:
type: object
properties:
services:
type: array
items:
type: string
regions:
type: array
items:
type: string
resource_types:
type: array
items:
type: string
required:
- services
- regions
- resource_types
FindingMetadataResponse:
type: object
properties:
data:
$ref: '#/components/schemas/FindingMetadata'
required:
- data
FindingResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Finding'
required:
- data
Integration:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
enabled:
type: boolean
connected:
type: boolean
nullable: true
connection_last_checked_at:
type: string
format: date-time
nullable: true
integration_type:
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
type: string
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
x-spec-enum-id: 6cfd0ff9cf4d6dcc
configuration: {}
required:
- integration_type
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
required:
- providers
IntegrationCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
enabled:
type: boolean
connected:
type: boolean
readOnly: true
nullable: true
connection_last_checked_at:
type: string
format: date-time
readOnly: true
nullable: true
integration_type:
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
type: string
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
x-spec-enum-id: 6cfd0ff9cf4d6dcc
configuration:
oneOf:
- type: object
title: Amazon S3
properties:
bucket_name:
type: string
description: The name of the S3 bucket where files will be stored.
output_directory:
type: string
description: 'The directory path within the bucket where files
will be saved. Optional - defaults to "output" if not provided.
Path will be normalized to remove excessive slashes and invalid
characters are not allowed (< > : " | ? *). Maximum length is
900 characters.'
maxLength: 900
pattern: ^[^<>:"|?*]+$
default: output
required:
- bucket_name
- type: object
title: AWS Security Hub
properties:
send_only_fails:
type: boolean
default: false
description: If true, only findings with status 'FAIL' will be
sent to Security Hub.
archive_previous_findings:
type: boolean
default: false
description: If true, archives findings that are not present in
the current execution.
- type: object
title: JIRA
description: JIRA integration does not accept any configuration in
the payload. Leave it as an empty JSON object (`{}`).
properties: {}
additionalProperties: false
credentials:
oneOf:
- type: object
title: AWS Credentials
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to assume.
Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials, if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
- type: object
title: JIRA Credentials
properties:
user_mail:
type: string
format: email
description: The email address of the JIRA user account.
api_token:
type: string
description: The API token for authentication with JIRA. This
can be generated from your Atlassian account settings.
domain:
type: string
description: The JIRA domain/instance URL (e.g., 'your-domain.atlassian.net').
required:
- user_mail
- api_token
- domain
writeOnly: true
required:
- integration_type
- configuration
- credentials
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
IntegrationCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
enabled:
type: boolean
connected:
type: boolean
readOnly: true
nullable: true
connection_last_checked_at:
type: string
format: date-time
readOnly: true
nullable: true
integration_type:
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
type: string
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
x-spec-enum-id: 6cfd0ff9cf4d6dcc
configuration:
oneOf:
- type: object
title: Amazon S3
properties:
bucket_name:
type: string
description: The name of the S3 bucket where files will be
stored.
output_directory:
type: string
description: 'The directory path within the bucket where files
will be saved. Optional - defaults to "output" if not provided.
Path will be normalized to remove excessive slashes and
invalid characters are not allowed (< > : " | ? *). Maximum
length is 900 characters.'
maxLength: 900
pattern: ^[^<>:"|?*]+$
default: output
required:
- bucket_name
- type: object
title: AWS Security Hub
properties:
send_only_fails:
type: boolean
default: false
description: If true, only findings with status 'FAIL' will
be sent to Security Hub.
archive_previous_findings:
type: boolean
default: false
description: If true, archives findings that are not present
in the current execution.
- type: object
title: JIRA
description: JIRA integration does not accept any configuration
in the payload. Leave it as an empty JSON object (`{}`).
properties: {}
additionalProperties: false
credentials:
oneOf:
- type: object
title: AWS Credentials
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to
assume. Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials,
if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
- type: object
title: JIRA Credentials
properties:
user_mail:
type: string
format: email
description: The email address of the JIRA user account.
api_token:
type: string
description: The API token for authentication with JIRA. This
can be generated from your Atlassian account settings.
domain:
type: string
description: The JIRA domain/instance URL (e.g., 'your-domain.atlassian.net').
required:
- user_mail
- api_token
- domain
writeOnly: true
required:
- integration_type
- configuration
- credentials
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
required:
- data
IntegrationCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/IntegrationCreate'
required:
- data
IntegrationJiraDispatchRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations-jira-dispatches
attributes:
type: object
properties:
project_key:
type: string
minLength: 1
issue_type:
enum:
- Task
type: string
description: '* `Task` - Task'
x-spec-enum-id: b527b0cec62087c1
required:
- project_key
- issue_type
required:
- data
IntegrationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Integration'
required:
- data
IntegrationUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations
id: {}
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
enabled:
type: boolean
connected:
type: boolean
readOnly: true
nullable: true
connection_last_checked_at:
type: string
format: date-time
readOnly: true
nullable: true
integration_type:
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
type: string
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
x-spec-enum-id: 6cfd0ff9cf4d6dcc
readOnly: true
configuration:
oneOf:
- type: object
title: Amazon S3
properties:
bucket_name:
type: string
description: The name of the S3 bucket where files will be stored.
output_directory:
type: string
description: 'The directory path within the bucket where files
will be saved. Optional - defaults to "output" if not provided.
Path will be normalized to remove excessive slashes and invalid
characters are not allowed (< > : " | ? *). Maximum length is
900 characters.'
maxLength: 900
pattern: ^[^<>:"|?*]+$
default: output
required:
- bucket_name
- type: object
title: AWS Security Hub
properties:
send_only_fails:
type: boolean
default: false
description: If true, only findings with status 'FAIL' will be
sent to Security Hub.
archive_previous_findings:
type: boolean
default: false
description: If true, archives findings that are not present in
the current execution.
- type: object
title: JIRA
description: JIRA integration does not accept any configuration in
the payload. Leave it as an empty JSON object (`{}`).
properties: {}
additionalProperties: false
credentials:
oneOf:
- type: object
title: AWS Credentials
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to assume.
Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials, if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
- type: object
title: JIRA Credentials
properties:
user_mail:
type: string
format: email
description: The email address of the JIRA user account.
api_token:
type: string
description: The API token for authentication with JIRA. This
can be generated from your Atlassian account settings.
domain:
type: string
description: The JIRA domain/instance URL (e.g., 'your-domain.atlassian.net').
required:
- user_mail
- api_token
- domain
writeOnly: true
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
IntegrationUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/IntegrationUpdate'
required:
- data
Invitation:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
email:
type: string
format: email
maxLength: 254
state:
enum:
- pending
- accepted
- expired
- revoked
type: string
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
x-spec-enum-id: 92a1c1fd12e13e25
token:
type: string
readOnly: true
expires_at:
type: string
format: date-time
required:
- email
relationships:
type: object
properties:
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
inviter:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
nullable: true
required:
- roles
InvitationAcceptRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
attributes:
type: object
properties:
invitation_token:
type: string
writeOnly: true
minLength: 1
required:
- invitation_token
required:
- data
InvitationCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
attributes:
type: object
properties:
email:
type: string
format: email
maxLength: 254
expires_at:
type: string
format: date-time
description: UTC. Default 7 days. If this attribute is provided, it
must be at least 24 hours in the future.
state:
enum:
- pending
- accepted
- expired
- revoked
type: string
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
x-spec-enum-id: 92a1c1fd12e13e25
readOnly: true
token:
type: string
readOnly: true
required:
- email
relationships:
type: object
properties:
inviter:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
required:
- roles
InvitationCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
attributes:
type: object
properties:
email:
type: string
format: email
minLength: 1
maxLength: 254
expires_at:
type: string
format: date-time
description: UTC. Default 7 days. If this attribute is provided,
it must be at least 24 hours in the future.
state:
enum:
- pending
- accepted
- expired
- revoked
type: string
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
x-spec-enum-id: 92a1c1fd12e13e25
readOnly: true
token:
type: string
readOnly: true
minLength: 1
required:
- email
relationships:
type: object
properties:
inviter:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
required:
- roles
required:
- data
InvitationCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/InvitationCreate'
required:
- data
InvitationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Invitation'
required:
- data
InvitationUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
id:
type: string
format: uuid
attributes:
type: object
properties:
email:
type: string
format: email
maxLength: 254
expires_at:
type: string
format: date-time
state:
enum:
- pending
- accepted
- expired
- revoked
type: string
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
x-spec-enum-id: 92a1c1fd12e13e25
readOnly: true
token:
type: string
readOnly: true
relationships:
type: object
properties:
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
InvitationUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/InvitationUpdate'
required:
- data
LighthouseConfig:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
description: Name of the configuration
maxLength: 100
minLength: 3
api_key:
type: string
model:
enum:
- gpt-4o-2024-11-20
- gpt-4o-2024-08-06
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4o-mini-2024-07-18
- gpt-4o-mini
- gpt-5-2025-08-07
- gpt-5
- gpt-5-mini-2025-08-07
- gpt-5-mini
type: string
x-spec-enum-id: bd2108eb25b2d472
description: |-
Must be one of the supported model names
* `gpt-4o-2024-11-20` - GPT-4o v2024-11-20
* `gpt-4o-2024-08-06` - GPT-4o v2024-08-06
* `gpt-4o-2024-05-13` - GPT-4o v2024-05-13
* `gpt-4o` - GPT-4o Default
* `gpt-4o-mini-2024-07-18` - GPT-4o Mini v2024-07-18
* `gpt-4o-mini` - GPT-4o Mini Default
* `gpt-5-2025-08-07` - GPT-5 v2025-08-07
* `gpt-5` - GPT-5 Default
* `gpt-5-mini-2025-08-07` - GPT-5 Mini v2025-08-07
* `gpt-5-mini` - GPT-5 Mini Default
temperature:
type: number
format: double
description: Must be between 0 and 1
max_tokens:
type: integer
maximum: 2147483647
minimum: -2147483648
description: Must be between 500 and 5000
business_context:
type: string
description: Additional business context for this AI model configuration
is_active:
type: boolean
readOnly: true
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
LighthouseConfigCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
attributes:
type: object
properties:
name:
type: string
description: Name of the configuration
maxLength: 100
minLength: 3
api_key:
type: string
writeOnly: true
model:
enum:
- gpt-4o-2024-11-20
- gpt-4o-2024-08-06
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4o-mini-2024-07-18
- gpt-4o-mini
- gpt-5-2025-08-07
- gpt-5
- gpt-5-mini-2025-08-07
- gpt-5-mini
type: string
x-spec-enum-id: bd2108eb25b2d472
description: |-
Must be one of the supported model names
* `gpt-4o-2024-11-20` - GPT-4o v2024-11-20
* `gpt-4o-2024-08-06` - GPT-4o v2024-08-06
* `gpt-4o-2024-05-13` - GPT-4o v2024-05-13
* `gpt-4o` - GPT-4o Default
* `gpt-4o-mini-2024-07-18` - GPT-4o Mini v2024-07-18
* `gpt-4o-mini` - GPT-4o Mini Default
* `gpt-5-2025-08-07` - GPT-5 v2025-08-07
* `gpt-5` - GPT-5 Default
* `gpt-5-mini-2025-08-07` - GPT-5 Mini v2025-08-07
* `gpt-5-mini` - GPT-5 Mini Default
temperature:
type: number
format: double
description: Must be between 0 and 1
max_tokens:
type: integer
maximum: 2147483647
minimum: -2147483648
description: Must be between 500 and 5000
business_context:
type: string
description: Additional business context for this AI model configuration
is_active:
type: boolean
readOnly: true
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
- api_key
LighthouseConfigCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
attributes:
type: object
properties:
name:
type: string
minLength: 3
description: Name of the configuration
maxLength: 100
api_key:
type: string
writeOnly: true
minLength: 1
model:
enum:
- gpt-4o-2024-11-20
- gpt-4o-2024-08-06
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4o-mini-2024-07-18
- gpt-4o-mini
- gpt-5-2025-08-07
- gpt-5
- gpt-5-mini-2025-08-07
- gpt-5-mini
type: string
x-spec-enum-id: bd2108eb25b2d472
description: |-
Must be one of the supported model names
* `gpt-4o-2024-11-20` - GPT-4o v2024-11-20
* `gpt-4o-2024-08-06` - GPT-4o v2024-08-06
* `gpt-4o-2024-05-13` - GPT-4o v2024-05-13
* `gpt-4o` - GPT-4o Default
* `gpt-4o-mini-2024-07-18` - GPT-4o Mini v2024-07-18
* `gpt-4o-mini` - GPT-4o Mini Default
* `gpt-5-2025-08-07` - GPT-5 v2025-08-07
* `gpt-5` - GPT-5 Default
* `gpt-5-mini-2025-08-07` - GPT-5 Mini v2025-08-07
* `gpt-5-mini` - GPT-5 Mini Default
temperature:
type: number
format: double
description: Must be between 0 and 1
max_tokens:
type: integer
maximum: 2147483647
minimum: -2147483648
description: Must be between 500 and 5000
business_context:
type: string
description: Additional business context for this AI model configuration
is_active:
type: boolean
readOnly: true
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
- api_key
required:
- data
LighthouseConfigCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseConfigCreate'
required:
- data
LighthouseConfigUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
description: Name of the configuration
maxLength: 100
minLength: 3
api_key:
type: string
writeOnly: true
model:
enum:
- gpt-4o-2024-11-20
- gpt-4o-2024-08-06
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4o-mini-2024-07-18
- gpt-4o-mini
- gpt-5-2025-08-07
- gpt-5
- gpt-5-mini-2025-08-07
- gpt-5-mini
type: string
x-spec-enum-id: bd2108eb25b2d472
description: |-
Must be one of the supported model names
* `gpt-4o-2024-11-20` - GPT-4o v2024-11-20
* `gpt-4o-2024-08-06` - GPT-4o v2024-08-06
* `gpt-4o-2024-05-13` - GPT-4o v2024-05-13
* `gpt-4o` - GPT-4o Default
* `gpt-4o-mini-2024-07-18` - GPT-4o Mini v2024-07-18
* `gpt-4o-mini` - GPT-4o Mini Default
* `gpt-5-2025-08-07` - GPT-5 v2025-08-07
* `gpt-5` - GPT-5 Default
* `gpt-5-mini-2025-08-07` - GPT-5 Mini v2025-08-07
* `gpt-5-mini` - GPT-5 Mini Default
temperature:
type: number
format: double
description: Must be between 0 and 1
max_tokens:
type: integer
maximum: 2147483647
minimum: -2147483648
description: Must be between 500 and 5000
business_context:
type: string
description: Additional business context for this AI model configuration
is_active:
type: boolean
readOnly: true
LighthouseConfigUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseConfigUpdate'
required:
- data
LighthouseProviderConfig:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-providers
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
provider_type:
enum:
- openai
- bedrock
- openai_compatible
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
description: |-
LLM provider name
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
base_url:
type: string
format: uri
nullable: true
maxLength: 200
is_active:
type: boolean
readOnly: true
credentials:
readOnly: true
required:
- provider_type
LighthouseProviderConfigCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-providers
attributes:
type: object
properties:
provider_type:
enum:
- openai
- bedrock
- openai_compatible
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
description: |-
LLM provider type. Determines which credential format to use. See 'credentials' field documentation for provider-specific requirements.
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
base_url:
type: string
format: uri
nullable: true
description: Base URL for the LLM provider API. Required for 'openai_compatible'
provider type.
credentials:
oneOf:
- type: object
title: OpenAI Credentials
properties:
api_key:
type: string
description: OpenAI API key. Must start with 'sk-' followed by
alphanumeric characters, hyphens, or underscores.
pattern: ^sk-[\w-]+$
required:
- api_key
- type: object
title: AWS Bedrock Credentials
properties:
access_key_id:
type: string
description: AWS access key ID.
pattern: ^AKIA[0-9A-Z]{16}$
secret_access_key:
type: string
description: AWS secret access key.
pattern: ^[A-Za-z0-9/+=]{40}$
region:
type: string
description: 'AWS region identifier where Bedrock is available.
Examples: us-east-1, us-west-2, eu-west-1, ap-northeast-1.'
pattern: ^[a-z]{2}-[a-z]+-\d+$
required:
- access_key_id
- secret_access_key
- region
- type: object
title: OpenAI Compatible Credentials
properties:
api_key:
type: string
description: 'API key for OpenAI-compatible provider. The format
varies by provider. Note: The ''base_url'' field (separate from
credentials) is required when using this provider type.'
required:
- api_key
writeOnly: true
is_active:
type: boolean
required:
- provider_type
- credentials
LighthouseProviderConfigCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-providers
attributes:
type: object
properties:
provider_type:
enum:
- openai
- bedrock
- openai_compatible
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
description: |-
LLM provider type. Determines which credential format to use. See 'credentials' field documentation for provider-specific requirements.
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
base_url:
type: string
format: uri
nullable: true
minLength: 1
description: Base URL for the LLM provider API. Required for 'openai_compatible'
provider type.
credentials:
oneOf:
- type: object
title: OpenAI Credentials
properties:
api_key:
type: string
description: OpenAI API key. Must start with 'sk-' followed
by alphanumeric characters, hyphens, or underscores.
pattern: ^sk-[\w-]+$
required:
- api_key
- type: object
title: AWS Bedrock Credentials
properties:
access_key_id:
type: string
description: AWS access key ID.
pattern: ^AKIA[0-9A-Z]{16}$
secret_access_key:
type: string
description: AWS secret access key.
pattern: ^[A-Za-z0-9/+=]{40}$
region:
type: string
description: 'AWS region identifier where Bedrock is available.
Examples: us-east-1, us-west-2, eu-west-1, ap-northeast-1.'
pattern: ^[a-z]{2}-[a-z]+-\d+$
required:
- access_key_id
- secret_access_key
- region
- type: object
title: OpenAI Compatible Credentials
properties:
api_key:
type: string
description: 'API key for OpenAI-compatible provider. The
format varies by provider. Note: The ''base_url'' field
(separate from credentials) is required when using this
provider type.'
required:
- api_key
writeOnly: true
is_active:
type: boolean
required:
- provider_type
- credentials
required:
- data
LighthouseProviderConfigCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseProviderConfigCreate'
required:
- data
LighthouseProviderConfigResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseProviderConfig'
required:
- data
LighthouseProviderConfigUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-providers
id:
type: string
format: uuid
attributes:
type: object
properties:
provider_type:
enum:
- openai
- bedrock
- openai_compatible
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
readOnly: true
description: |-
LLM provider name
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
base_url:
type: string
format: uri
nullable: true
description: Base URL for the LLM provider API. Required for 'openai_compatible'
provider type.
credentials:
oneOf:
- type: object
title: OpenAI Credentials
properties:
api_key:
type: string
description: OpenAI API key. Must start with 'sk-' followed by
alphanumeric characters, hyphens, or underscores.
pattern: ^sk-[\w-]+$
required:
- api_key
- type: object
title: AWS Bedrock Credentials
properties:
access_key_id:
type: string
description: AWS access key ID.
pattern: ^AKIA[0-9A-Z]{16}$
secret_access_key:
type: string
description: AWS secret access key.
pattern: ^[A-Za-z0-9/+=]{40}$
region:
type: string
description: 'AWS region identifier where Bedrock is available.
Examples: us-east-1, us-west-2, eu-west-1, ap-northeast-1.'
pattern: ^[a-z]{2}-[a-z]+-\d+$
required:
- access_key_id
- secret_access_key
- region
- type: object
title: OpenAI Compatible Credentials
properties:
api_key:
type: string
description: 'API key for OpenAI-compatible provider. The format
varies by provider. Note: The ''base_url'' field (separate from
credentials) is required when using this provider type.'
required:
- api_key
writeOnly: true
is_active:
type: boolean
LighthouseProviderConfigUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseProviderConfigUpdate'
required:
- data
LighthouseProviderModels:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-models
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
model_id:
type: string
maxLength: 100
model_name:
type: string
maxLength: 100
default_parameters: {}
required:
- model_id
- model_name
relationships:
type: object
properties:
provider_configuration:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- lighthouse-providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
LighthouseProviderModelsResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseProviderModels'
required:
- data
LighthouseTenantConfig:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
business_context:
type: string
default_provider:
type: string
maxLength: 50
default_models: {}
url:
type: string
readOnly: true
LighthouseTenantConfigUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
business_context:
type: string
default_provider:
type: string
maxLength: 50
default_models: {}
LighthouseTenantConfigUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LighthouseTenantConfigUpdate'
required:
- data
Membership:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- memberships
attributes:
type: object
properties:
role:
enum:
- owner
- member
type: string
description: |-
* `owner` - Owner
* `member` - Member
x-spec-enum-id: 12c359ee5dc51001
date_joined:
type: string
format: date-time
readOnly: true
required:
- role
relationships:
type: object
properties:
user:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uri
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
tenant:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uri
type:
type: string
enum:
- tenants
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
MembershipResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Membership'
required:
- data
MuteRule:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- mute-rules
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
description: Human-readable name for this rule
maxLength: 100
minLength: 3
reason:
type: string
description: Reason for muting
minLength: 3
maxLength: 500
enabled:
type: boolean
description: Whether this rule is currently enabled
finding_uids:
type: array
items:
type: string
readOnly: true
description: List of finding UIDs that are muted by this rule
required:
- name
- reason
relationships:
type: object
properties:
created_by:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
nullable: true
MuteRuleCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- mute-rules
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
description: Human-readable name for this rule
maxLength: 100
minLength: 3
reason:
type: string
description: Reason for muting
minLength: 3
maxLength: 500
enabled:
type: boolean
readOnly: true
description: Whether this rule is currently enabled
finding_ids:
type: array
items:
type: string
format: uuid
writeOnly: true
description: List of Finding IDs to mute (will be converted to UIDs)
finding_uids:
type: array
items:
type: string
readOnly: true
description: List of finding UIDs that are muted by this rule
required:
- name
- reason
- finding_ids
relationships:
type: object
properties:
created_by:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
MuteRuleCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- mute-rules
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
minLength: 3
description: Human-readable name for this rule
maxLength: 100
reason:
type: string
minLength: 3
description: Reason for muting
maxLength: 500
enabled:
type: boolean
readOnly: true
description: Whether this rule is currently enabled
finding_ids:
type: array
items:
type: string
format: uuid
writeOnly: true
description: List of Finding IDs to mute (will be converted to UIDs)
finding_uids:
type: array
items:
type: string
minLength: 1
readOnly: true
description: List of finding UIDs that are muted by this rule
required:
- name
- reason
- finding_ids
relationships:
type: object
properties:
created_by:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
required:
- data
MuteRuleCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MuteRuleCreate'
required:
- data
MuteRuleResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MuteRule'
required:
- data
OpenApiResponseResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TenantApiKey'
required:
- data
OverviewFinding:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- findings-overview
id: {}
attributes:
type: object
properties:
id:
type: string
default: n/a
new:
type: integer
changed:
type: integer
unchanged:
type: integer
fail_new:
type: integer
fail_changed:
type: integer
pass_new:
type: integer
pass_changed:
type: integer
muted_new:
type: integer
muted_changed:
type: integer
total:
type: integer
fail:
type: integer
muted:
type: integer
pass:
type: integer
required:
- new
- changed
- unchanged
- fail_new
- fail_changed
- pass_new
- pass_changed
- muted_new
- muted_changed
- total
- fail
- muted
- pass
OverviewFindingResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OverviewFinding'
required:
- data
OverviewProvider:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers-overview
id: {}
attributes:
type: object
properties:
id:
type: string
findings:
type: object
properties:
pass:
type: integer
fail:
type: integer
muted:
type: integer
total:
type: integer
readOnly: true
resources:
type: object
properties:
total:
type: integer
readOnly: true
required:
- id
OverviewProviderCount:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers-count-overview
id: {}
attributes:
type: object
properties:
id:
type: string
count:
type: integer
required:
- id
- count
OverviewProviderCountResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OverviewProviderCount'
required:
- data
OverviewProviderResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OverviewProvider'
required:
- data
OverviewService:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- services-overview
id: {}
attributes:
type: object
properties:
id:
type: string
total:
type: integer
fail:
type: integer
muted:
type: integer
pass:
type: integer
required:
- id
- total
- fail
- muted
- pass
OverviewServiceResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OverviewService'
required:
- data
OverviewSeverity:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- findings-severity-overview
id: {}
attributes:
type: object
properties:
id:
type: string
default: n/a
critical:
type: integer
high:
type: integer
medium:
type: integer
low:
type: integer
informational:
type: integer
required:
- critical
- high
- medium
- low
- informational
OverviewSeverityResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OverviewSeverity'
required:
- data
PaginatedComplianceOverviewAttributesList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ComplianceOverviewAttributes'
required:
- data
PaginatedComplianceOverviewDetailList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ComplianceOverviewDetail'
required:
- data
PaginatedComplianceOverviewList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ComplianceOverview'
required:
- data
PaginatedFindingList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Finding'
required:
- data
PaginatedIntegrationList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Integration'
required:
- data
PaginatedInvitationList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Invitation'
required:
- data
PaginatedLighthouseConfigList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LighthouseConfig'
required:
- data
PaginatedLighthouseProviderConfigList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LighthouseProviderConfig'
required:
- data
PaginatedLighthouseProviderModelsList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LighthouseProviderModels'
required:
- data
PaginatedLighthouseTenantConfigList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LighthouseTenantConfig'
required:
- data
PaginatedMembershipList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Membership'
required:
- data
PaginatedMuteRuleList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MuteRule'
required:
- data
PaginatedProcessorList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Processor'
required:
- data
PaginatedProviderGroupList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProviderGroup'
required:
- data
PaginatedProviderList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Provider'
required:
- data
PaginatedProviderSecretList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProviderSecret'
required:
- data
PaginatedResourceList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Resource'
required:
- data
PaginatedRoleList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Role'
required:
- data
PaginatedSAMLConfigurationList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SAMLConfiguration'
required:
- data
PaginatedScanList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Scan'
required:
- data
PaginatedTaskList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Task'
required:
- data
PaginatedTenantApiKeyList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TenantApiKey'
required:
- data
PaginatedTenantList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Tenant'
required:
- data
PaginatedUserList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/User'
required:
- data
PatchedIntegrationUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- integrations
id:
type: string
format: uuid
description: Unique identifier for this resource object.
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
enabled:
type: boolean
connected:
type: boolean
readOnly: true
nullable: true
connection_last_checked_at:
type: string
format: date-time
readOnly: true
nullable: true
integration_type:
enum:
- amazon_s3
- aws_security_hub
- jira
- slack
type: string
description: |-
* `amazon_s3` - Amazon S3
* `aws_security_hub` - AWS Security Hub
* `jira` - JIRA
* `slack` - Slack
x-spec-enum-id: 6cfd0ff9cf4d6dcc
readOnly: true
configuration:
oneOf:
- type: object
title: Amazon S3
properties:
bucket_name:
type: string
description: The name of the S3 bucket where files will be
stored.
output_directory:
type: string
description: 'The directory path within the bucket where files
will be saved. Optional - defaults to "output" if not provided.
Path will be normalized to remove excessive slashes and
invalid characters are not allowed (< > : " | ? *). Maximum
length is 900 characters.'
maxLength: 900
pattern: ^[^<>:"|?*]+$
default: output
required:
- bucket_name
- type: object
title: AWS Security Hub
properties:
send_only_fails:
type: boolean
default: false
description: If true, only findings with status 'FAIL' will
be sent to Security Hub.
archive_previous_findings:
type: boolean
default: false
description: If true, archives findings that are not present
in the current execution.
- type: object
title: JIRA
description: JIRA integration does not accept any configuration
in the payload. Leave it as an empty JSON object (`{}`).
properties: {}
additionalProperties: false
credentials:
oneOf:
- type: object
title: AWS Credentials
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to
assume. Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials,
if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
- type: object
title: JIRA Credentials
properties:
user_mail:
type: string
format: email
description: The email address of the JIRA user account.
api_token:
type: string
description: The API token for authentication with JIRA. This
can be generated from your Atlassian account settings.
domain:
type: string
description: The JIRA domain/instance URL (e.g., 'your-domain.atlassian.net').
required:
- user_mail
- api_token
- domain
writeOnly: true
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
required:
- data
PatchedInvitationUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- invitations
id:
type: string
format: uuid
attributes:
type: object
properties:
email:
type: string
format: email
minLength: 1
maxLength: 254
expires_at:
type: string
format: date-time
state:
enum:
- pending
- accepted
- expired
- revoked
type: string
description: |-
* `pending` - Invitation is pending
* `accepted` - Invitation was accepted by a user
* `expired` - Invitation expired after the configured time
* `revoked` - Invitation was revoked by a user
x-spec-enum-id: 92a1c1fd12e13e25
readOnly: true
token:
type: string
readOnly: true
minLength: 1
relationships:
type: object
properties:
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
required:
- data
PatchedLighthouseConfigUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 3
description: Name of the configuration
maxLength: 100
api_key:
type: string
writeOnly: true
minLength: 1
model:
enum:
- gpt-4o-2024-11-20
- gpt-4o-2024-08-06
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4o-mini-2024-07-18
- gpt-4o-mini
- gpt-5-2025-08-07
- gpt-5
- gpt-5-mini-2025-08-07
- gpt-5-mini
type: string
x-spec-enum-id: bd2108eb25b2d472
description: |-
Must be one of the supported model names
* `gpt-4o-2024-11-20` - GPT-4o v2024-11-20
* `gpt-4o-2024-08-06` - GPT-4o v2024-08-06
* `gpt-4o-2024-05-13` - GPT-4o v2024-05-13
* `gpt-4o` - GPT-4o Default
* `gpt-4o-mini-2024-07-18` - GPT-4o Mini v2024-07-18
* `gpt-4o-mini` - GPT-4o Mini Default
* `gpt-5-2025-08-07` - GPT-5 v2025-08-07
* `gpt-5` - GPT-5 Default
* `gpt-5-mini-2025-08-07` - GPT-5 Mini v2025-08-07
* `gpt-5-mini` - GPT-5 Mini Default
temperature:
type: number
format: double
description: Must be between 0 and 1
max_tokens:
type: integer
maximum: 2147483647
minimum: -2147483648
description: Must be between 500 and 5000
business_context:
type: string
description: Additional business context for this AI model configuration
is_active:
type: boolean
readOnly: true
required:
- data
PatchedLighthouseProviderConfigUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-providers
id:
type: string
format: uuid
attributes:
type: object
properties:
provider_type:
enum:
- openai
- bedrock
- openai_compatible
type: string
x-spec-enum-id: 30bc523cb9ec0e8b
readOnly: true
description: |-
LLM provider name
* `openai` - OpenAI
* `bedrock` - AWS Bedrock
* `openai_compatible` - OpenAI Compatible
base_url:
type: string
format: uri
nullable: true
minLength: 1
description: Base URL for the LLM provider API. Required for 'openai_compatible'
provider type.
credentials:
oneOf:
- type: object
title: OpenAI Credentials
properties:
api_key:
type: string
description: OpenAI API key. Must start with 'sk-' followed
by alphanumeric characters, hyphens, or underscores.
pattern: ^sk-[\w-]+$
required:
- api_key
- type: object
title: AWS Bedrock Credentials
properties:
access_key_id:
type: string
description: AWS access key ID.
pattern: ^AKIA[0-9A-Z]{16}$
secret_access_key:
type: string
description: AWS secret access key.
pattern: ^[A-Za-z0-9/+=]{40}$
region:
type: string
description: 'AWS region identifier where Bedrock is available.
Examples: us-east-1, us-west-2, eu-west-1, ap-northeast-1.'
pattern: ^[a-z]{2}-[a-z]+-\d+$
required:
- access_key_id
- secret_access_key
- region
- type: object
title: OpenAI Compatible Credentials
properties:
api_key:
type: string
description: 'API key for OpenAI-compatible provider. The
format varies by provider. Note: The ''base_url'' field
(separate from credentials) is required when using this
provider type.'
required:
- api_key
writeOnly: true
is_active:
type: boolean
required:
- data
PatchedLighthouseTenantConfigUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- lighthouse-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
business_context:
type: string
default_provider:
type: string
maxLength: 50
default_models: {}
required:
- data
PatchedMuteRuleUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- mute-rules
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 3
description: Human-readable name for this rule
maxLength: 100
reason:
type: string
minLength: 3
description: Reason for muting
maxLength: 500
enabled:
type: boolean
description: Whether this rule is currently enabled
required:
- data
PatchedProcessorUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- processors
id:
type: string
format: uuid
description: Unique identifier for this resource object.
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
configuration:
oneOf:
- type: object
title: Mutelist
properties:
Mutelist:
type: object
properties:
Accounts:
type: object
additionalProperties:
type: object
properties:
Checks:
type: object
additionalProperties:
type: object
properties:
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
Exceptions:
type: object
properties:
Accounts:
type: array
items:
type: string
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
additionalProperties: false
Description:
type: string
required:
- Regions
- Resources
additionalProperties: false
required:
- Checks
additionalProperties: false
required:
- Accounts
additionalProperties: false
additionalProperties: false
required:
- configuration
required:
- data
PatchedProviderGroupMembershipRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider_groups-provider
id:
type: string
format: uuid
attributes:
type: object
properties:
providers:
type: array
items:
$ref: '#/components/schemas/ProviderResourceIdentifierRequest'
description: List of resource identifier objects representing providers.
required:
- providers
required:
- data
PatchedProviderGroupUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-groups
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
required:
- data
PatchedProviderSecretUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-secrets
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
nullable: true
maxLength: 100
minLength: 3
secret_type:
enum:
- static
- role
- service_account
type: string
description: |-
* `static` - Key-value pairs
* `role` - Role assumption
* `service_account` - GCP Service Account Key
x-spec-enum-id: 20c74ebcd6671497
secret:
oneOf:
- type: object
title: AWS Static Credentials
properties:
aws_access_key_id:
type: string
description: The AWS access key ID. Required for environments
where no IAM role is being assumed and direct AWS access
is needed.
aws_secret_access_key:
type: string
description: The AWS secret access key. Must accompany 'aws_access_key_id'
to authorize access to AWS resources.
aws_session_token:
type: string
description: The session token associated with temporary credentials.
Only needed for session-based or temporary AWS access.
required:
- aws_access_key_id
- aws_secret_access_key
- type: object
title: AWS Assume Role
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to
assume. Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials,
if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
required:
- role_arn
- external_id
- type: object
title: Azure Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
required:
- client_id
- client_secret
- tenant_id
- type: object
title: M365 Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
user:
type: string
description: User microsoft email address.
deprecated: true
format: email
password:
type: string
description: User password.
deprecated: true
required:
- client_id
- client_secret
- tenant_id
- user
- password
- type: object
title: M365 Certificate Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
certificate_content:
type: string
description: The certificate content in base64 format for
certificate-based authentication.
required:
- client_id
- tenant_id
- certificate_content
- type: object
title: GCP Static Credentials
properties:
client_id:
type: string
description: The client ID from Google Cloud, used to identify
the application for GCP access.
client_secret:
type: string
description: The client secret associated with the GCP client
ID, required for secure access.
refresh_token:
type: string
description: A refresh token that allows the application to
obtain new access tokens for extended use.
required:
- client_id
- client_secret
- refresh_token
- type: object
title: GCP Service Account Key
properties:
service_account_key:
type: object
description: The service account key for GCP.
required:
- service_account_key
- type: object
title: Kubernetes Static Credentials
properties:
kubeconfig_content:
type: string
description: The content of the Kubernetes kubeconfig file,
encoded as a string.
required:
- kubeconfig_content
- type: object
title: GitHub Personal Access Token
properties:
personal_access_token:
type: string
description: GitHub personal access token for authentication.
required:
- personal_access_token
- type: object
title: GitHub OAuth App Token
properties:
oauth_app_token:
type: string
description: GitHub OAuth App token for authentication.
required:
- oauth_app_token
- type: object
title: GitHub App Credentials
properties:
github_app_id:
type: integer
description: GitHub App ID for authentication.
github_app_key:
type: string
description: Path to the GitHub App private key file.
required:
- github_app_id
- github_app_key
- type: object
title: IaC Repository Credentials
properties:
repository_url:
type: string
description: Repository URL to scan for IaC files.
access_token:
type: string
description: Optional access token for private repositories.
required:
- repository_url
- type: object
title: Oracle Cloud Infrastructure (OCI) API Key Credentials
properties:
user:
type: string
description: The OCID of the user to authenticate with.
fingerprint:
type: string
description: The fingerprint of the API signing key.
key_file:
type: string
description: The path to the private key file for API signing.
Either key_file or key_content must be provided.
key_content:
type: string
description: The content of the private key for API signing
(base64 encoded). Either key_file or key_content must be
provided.
tenancy:
type: string
description: The OCID of the tenancy.
region:
type: string
description: The OCI region identifier (e.g., us-ashburn-1,
us-phoenix-1).
pass_phrase:
type: string
description: The passphrase for the private key, if encrypted.
required:
- user
- fingerprint
- tenancy
- region
writeOnly: true
required:
- secret
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
required:
- data
PatchedProviderUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers
id:
type: string
format: uuid
description: Unique identifier for this resource object.
attributes:
type: object
properties:
alias:
type: string
nullable: true
description: Human readable name to identify the provider, e.g.
'Production AWS Account', 'Dev Environment'
maxLength: 100
minLength: 3
required:
- data
PatchedRoleProviderGroupRelationshipRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- role-provider_groups
id:
type: string
format: uuid
attributes:
type: object
properties:
provider_groups:
type: array
items:
$ref: '#/components/schemas/ProviderGroupResourceIdentifierRequest'
description: List of resource identifier objects representing provider
groups.
required:
- provider_groups
required:
- data
PatchedRoleUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- roles
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
manage_users:
type: boolean
manage_account:
type: boolean
manage_integrations:
type: boolean
manage_providers:
type: boolean
manage_scans:
type: boolean
permission_state:
type: string
readOnly: true
unlimited_visibility:
type: boolean
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
provider_groups:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- provider-groups
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type provider-groups
title: provider-groups
users:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type users
title: users
invitations:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- invitations
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type invitations
title: invitations
readOnly: true
required:
- data
PatchedSAMLConfigurationRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- saml-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
email_domain:
type: string
minLength: 1
description: Email domain used to identify the tenant, e.g. prowlerdemo.com
maxLength: 254
metadata_xml:
type: string
minLength: 1
description: Raw IdP metadata XML to configure SingleSignOnService,
certificates, etc.
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- email_domain
- metadata_xml
required:
- data
PatchedScanUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- scans
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
nullable: true
maxLength: 100
minLength: 3
required:
- data
PatchedTenantApiKeyUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- api-keys
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 100
prefix:
type: string
readOnly: true
minLength: 1
description: Unique prefix to identify the API key
expires_at:
type: string
format: date-time
readOnly: true
inserted_at:
type: string
format: date-time
readOnly: true
last_used_at:
type: string
format: date-time
readOnly: true
nullable: true
description: Last time this API key was used for authentication
required:
- name
relationships:
type: object
properties:
entity:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
required:
- data
PatchedTenantRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tenants
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
required:
- name
relationships:
type: object
properties:
memberships:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- memberships
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type memberships
title: memberships
readOnly: true
required:
- data
PatchedUserRoleRelationshipRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- user-roles
id:
type: string
format: uuid
attributes:
type: object
properties:
roles:
type: array
items:
$ref: '#/components/schemas/RoleResourceIdentifierRequest'
description: List of resource identifier objects representing roles.
required:
- roles
required:
- data
PatchedUserUpdateRequest:
type: object
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- users
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 150
password:
type: string
writeOnly: true
minLength: 1
email:
type: string
format: email
minLength: 1
description: Case insensitive
maxLength: 254
company_name:
type: string
maxLength: 150
required:
- name
- email
required:
- data
Processor:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- processors
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
processor_type:
enum:
- mutelist
type: string
description: '* `mutelist` - Mutelist'
x-spec-enum-id: 53cda4a99fe3d655
configuration:
oneOf:
- type: object
title: Mutelist
properties:
Mutelist:
type: object
properties:
Accounts:
type: object
additionalProperties:
type: object
properties:
Checks:
type: object
additionalProperties:
type: object
properties:
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
Exceptions:
type: object
properties:
Accounts:
type: array
items:
type: string
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
additionalProperties: false
Description:
type: string
required:
- Regions
- Resources
additionalProperties: false
required:
- Checks
additionalProperties: false
required:
- Accounts
additionalProperties: false
additionalProperties: false
required:
- processor_type
- configuration
ProcessorCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- processors
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
processor_type:
enum:
- mutelist
type: string
description: '* `mutelist` - Mutelist'
x-spec-enum-id: 53cda4a99fe3d655
configuration:
oneOf:
- type: object
title: Mutelist
properties:
Mutelist:
type: object
properties:
Accounts:
type: object
additionalProperties:
type: object
properties:
Checks:
type: object
additionalProperties:
type: object
properties:
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
Exceptions:
type: object
properties:
Accounts:
type: array
items:
type: string
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
additionalProperties: false
Description:
type: string
required:
- Regions
- Resources
additionalProperties: false
required:
- Checks
additionalProperties: false
required:
- Accounts
additionalProperties: false
additionalProperties: false
required:
- processor_type
- configuration
ProcessorCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- processors
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
processor_type:
enum:
- mutelist
type: string
description: '* `mutelist` - Mutelist'
x-spec-enum-id: 53cda4a99fe3d655
configuration:
oneOf:
- type: object
title: Mutelist
properties:
Mutelist:
type: object
properties:
Accounts:
type: object
additionalProperties:
type: object
properties:
Checks:
type: object
additionalProperties:
type: object
properties:
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
Exceptions:
type: object
properties:
Accounts:
type: array
items:
type: string
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
additionalProperties: false
Description:
type: string
required:
- Regions
- Resources
additionalProperties: false
required:
- Checks
additionalProperties: false
required:
- Accounts
additionalProperties: false
additionalProperties: false
required:
- processor_type
- configuration
required:
- data
ProcessorCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProcessorCreate'
required:
- data
ProcessorResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Processor'
required:
- data
ProcessorUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- processors
id: {}
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
configuration:
oneOf:
- type: object
title: Mutelist
properties:
Mutelist:
type: object
properties:
Accounts:
type: object
additionalProperties:
type: object
properties:
Checks:
type: object
additionalProperties:
type: object
properties:
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
Exceptions:
type: object
properties:
Accounts:
type: array
items:
type: string
Regions:
type: array
items:
type: string
Resources:
type: array
items:
type: string
Tags:
type: array
items:
type: string
additionalProperties: false
Description:
type: string
required:
- Regions
- Resources
additionalProperties: false
required:
- Checks
additionalProperties: false
required:
- Accounts
additionalProperties: false
additionalProperties: false
required:
- configuration
ProcessorUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProcessorUpdate'
required:
- data
Provider:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
provider:
enum:
- aws
- azure
- gcp
- kubernetes
- m365
- github
- iac
- oraclecloud
type: string
description: |-
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
x-spec-enum-id: cfe6f885ff538a1a
uid:
type: string
title: Unique identifier for the provider, set by the provider
maxLength: 250
minLength: 3
alias:
type: string
nullable: true
maxLength: 100
minLength: 3
connection:
type: object
properties:
connected:
type: boolean
last_checked_at:
type: string
format: date-time
readOnly: true
required:
- provider
- uid
relationships:
type: object
properties:
secret:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- provider-secrets
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
provider_groups:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- provider-groups
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type provider-groups
title: provider-groups
readOnly: true
required:
- secret
ProviderCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers
attributes:
type: object
properties:
alias:
type: string
nullable: true
description: Human readable name to identify the provider, e.g. 'Production
AWS Account', 'Dev Environment'
maxLength: 100
minLength: 3
provider:
enum:
- aws
- azure
- gcp
- kubernetes
- m365
- github
- iac
- oraclecloud
type: string
x-spec-enum-id: cfe6f885ff538a1a
description: |-
Type of provider to create.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
uid:
type: string
title: Unique identifier for the provider, set by the provider
description: Unique identifier for the provider, set by the provider,
e.g. AWS account ID, Azure subscription ID, GCP project ID, etc.
maxLength: 250
minLength: 3
required:
- uid
ProviderCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- providers
attributes:
type: object
properties:
alias:
type: string
nullable: true
description: Human readable name to identify the provider, e.g.
'Production AWS Account', 'Dev Environment'
maxLength: 100
minLength: 3
provider:
enum:
- aws
- azure
- gcp
- kubernetes
- m365
- github
- iac
- oraclecloud
type: string
x-spec-enum-id: cfe6f885ff538a1a
description: |-
Type of provider to create.
* `aws` - AWS
* `azure` - Azure
* `gcp` - GCP
* `kubernetes` - Kubernetes
* `m365` - M365
* `github` - GitHub
* `iac` - IaC
* `oraclecloud` - Oracle Cloud Infrastructure
uid:
type: string
minLength: 3
title: Unique identifier for the provider, set by the provider
description: Unique identifier for the provider, set by the provider,
e.g. AWS account ID, Azure subscription ID, GCP project ID, etc.
maxLength: 250
required:
- uid
required:
- data
ProviderCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderCreate'
required:
- data
ProviderGroup:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-groups
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 255
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
ProviderGroupCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-groups
attributes:
type: object
properties:
name:
type: string
maxLength: 255
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
ProviderGroupCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-groups
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
providers:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type providers
title: providers
roles:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type roles
title: roles
required:
- data
ProviderGroupCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderGroupCreate'
required:
- data
ProviderGroupMembershipRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider_groups-provider
attributes:
type: object
properties:
providers:
type: array
items:
$ref: '#/components/schemas/ProviderResourceIdentifierRequest'
description: List of resource identifier objects representing providers.
required:
- providers
required:
- data
ProviderGroupResourceIdentifierRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-group-identifier
attributes:
type: object
properties:
resource_type:
type: string
minLength: 1
id:
type: string
format: uuid
required:
- resource_type
- id
required:
- data
ProviderGroupResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderGroup'
required:
- data
ProviderResourceIdentifierRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-identifier
attributes:
type: object
properties:
resource_type:
type: string
minLength: 1
id:
type: string
format: uuid
required:
- resource_type
- id
required:
- data
ProviderResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Provider'
required:
- data
ProviderSecret:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-secrets
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
nullable: true
maxLength: 100
minLength: 3
secret_type:
enum:
- static
- role
- service_account
type: string
description: |-
* `static` - Key-value pairs
* `role` - Role assumption
* `service_account` - GCP Service Account Key
x-spec-enum-id: 20c74ebcd6671497
required:
- secret_type
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
required:
- provider
ProviderSecretCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-secrets
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
nullable: true
maxLength: 100
minLength: 3
secret_type:
enum:
- static
- role
- service_account
type: string
description: |-
* `static` - Key-value pairs
* `role` - Role assumption
* `service_account` - GCP Service Account Key
x-spec-enum-id: 20c74ebcd6671497
secret:
oneOf:
- type: object
title: AWS Static Credentials
properties:
aws_access_key_id:
type: string
description: The AWS access key ID. Required for environments
where no IAM role is being assumed and direct AWS access is
needed.
aws_secret_access_key:
type: string
description: The AWS secret access key. Must accompany 'aws_access_key_id'
to authorize access to AWS resources.
aws_session_token:
type: string
description: The session token associated with temporary credentials.
Only needed for session-based or temporary AWS access.
required:
- aws_access_key_id
- aws_secret_access_key
- type: object
title: AWS Assume Role
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to assume.
Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials, if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
required:
- role_arn
- external_id
- type: object
title: Azure Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
required:
- client_id
- client_secret
- tenant_id
- type: object
title: M365 Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
user:
type: string
description: User microsoft email address.
deprecated: true
format: email
password:
type: string
description: User password.
deprecated: true
required:
- client_id
- client_secret
- tenant_id
- user
- password
- type: object
title: M365 Certificate Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
certificate_content:
type: string
description: The certificate content in base64 format for certificate-based
authentication.
required:
- client_id
- tenant_id
- certificate_content
- type: object
title: GCP Static Credentials
properties:
client_id:
type: string
description: The client ID from Google Cloud, used to identify
the application for GCP access.
client_secret:
type: string
description: The client secret associated with the GCP client
ID, required for secure access.
refresh_token:
type: string
description: A refresh token that allows the application to obtain
new access tokens for extended use.
required:
- client_id
- client_secret
- refresh_token
- type: object
title: GCP Service Account Key
properties:
service_account_key:
type: object
description: The service account key for GCP.
required:
- service_account_key
- type: object
title: Kubernetes Static Credentials
properties:
kubeconfig_content:
type: string
description: The content of the Kubernetes kubeconfig file, encoded
as a string.
required:
- kubeconfig_content
- type: object
title: GitHub Personal Access Token
properties:
personal_access_token:
type: string
description: GitHub personal access token for authentication.
required:
- personal_access_token
- type: object
title: GitHub OAuth App Token
properties:
oauth_app_token:
type: string
description: GitHub OAuth App token for authentication.
required:
- oauth_app_token
- type: object
title: GitHub App Credentials
properties:
github_app_id:
type: integer
description: GitHub App ID for authentication.
github_app_key:
type: string
description: Path to the GitHub App private key file.
required:
- github_app_id
- github_app_key
- type: object
title: IaC Repository Credentials
properties:
repository_url:
type: string
description: Repository URL to scan for IaC files.
access_token:
type: string
description: Optional access token for private repositories.
required:
- repository_url
- type: object
title: Oracle Cloud Infrastructure (OCI) API Key Credentials
properties:
user:
type: string
description: The OCID of the user to authenticate with.
fingerprint:
type: string
description: The fingerprint of the API signing key.
key_file:
type: string
description: The path to the private key file for API signing.
Either key_file or key_content must be provided.
key_content:
type: string
description: The content of the private key for API signing (base64
encoded). Either key_file or key_content must be provided.
tenancy:
type: string
description: The OCID of the tenancy.
region:
type: string
description: The OCI region identifier (e.g., us-ashburn-1, us-phoenix-1).
pass_phrase:
type: string
description: The passphrase for the private key, if encrypted.
required:
- user
- fingerprint
- tenancy
- region
writeOnly: true
required:
- secret_type
- secret
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
required:
- provider
ProviderSecretCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-secrets
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
nullable: true
maxLength: 100
minLength: 3
secret_type:
enum:
- static
- role
- service_account
type: string
description: |-
* `static` - Key-value pairs
* `role` - Role assumption
* `service_account` - GCP Service Account Key
x-spec-enum-id: 20c74ebcd6671497
secret:
oneOf:
- type: object
title: AWS Static Credentials
properties:
aws_access_key_id:
type: string
description: The AWS access key ID. Required for environments
where no IAM role is being assumed and direct AWS access
is needed.
aws_secret_access_key:
type: string
description: The AWS secret access key. Must accompany 'aws_access_key_id'
to authorize access to AWS resources.
aws_session_token:
type: string
description: The session token associated with temporary credentials.
Only needed for session-based or temporary AWS access.
required:
- aws_access_key_id
- aws_secret_access_key
- type: object
title: AWS Assume Role
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to
assume. Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials,
if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
required:
- role_arn
- external_id
- type: object
title: Azure Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
required:
- client_id
- client_secret
- tenant_id
- type: object
title: M365 Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
user:
type: string
description: User microsoft email address.
deprecated: true
format: email
password:
type: string
description: User password.
deprecated: true
required:
- client_id
- client_secret
- tenant_id
- user
- password
- type: object
title: M365 Certificate Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory
where the application is registered.
certificate_content:
type: string
description: The certificate content in base64 format for
certificate-based authentication.
required:
- client_id
- tenant_id
- certificate_content
- type: object
title: GCP Static Credentials
properties:
client_id:
type: string
description: The client ID from Google Cloud, used to identify
the application for GCP access.
client_secret:
type: string
description: The client secret associated with the GCP client
ID, required for secure access.
refresh_token:
type: string
description: A refresh token that allows the application to
obtain new access tokens for extended use.
required:
- client_id
- client_secret
- refresh_token
- type: object
title: GCP Service Account Key
properties:
service_account_key:
type: object
description: The service account key for GCP.
required:
- service_account_key
- type: object
title: Kubernetes Static Credentials
properties:
kubeconfig_content:
type: string
description: The content of the Kubernetes kubeconfig file,
encoded as a string.
required:
- kubeconfig_content
- type: object
title: GitHub Personal Access Token
properties:
personal_access_token:
type: string
description: GitHub personal access token for authentication.
required:
- personal_access_token
- type: object
title: GitHub OAuth App Token
properties:
oauth_app_token:
type: string
description: GitHub OAuth App token for authentication.
required:
- oauth_app_token
- type: object
title: GitHub App Credentials
properties:
github_app_id:
type: integer
description: GitHub App ID for authentication.
github_app_key:
type: string
description: Path to the GitHub App private key file.
required:
- github_app_id
- github_app_key
- type: object
title: IaC Repository Credentials
properties:
repository_url:
type: string
description: Repository URL to scan for IaC files.
access_token:
type: string
description: Optional access token for private repositories.
required:
- repository_url
- type: object
title: Oracle Cloud Infrastructure (OCI) API Key Credentials
properties:
user:
type: string
description: The OCID of the user to authenticate with.
fingerprint:
type: string
description: The fingerprint of the API signing key.
key_file:
type: string
description: The path to the private key file for API signing.
Either key_file or key_content must be provided.
key_content:
type: string
description: The content of the private key for API signing
(base64 encoded). Either key_file or key_content must be
provided.
tenancy:
type: string
description: The OCID of the tenancy.
region:
type: string
description: The OCI region identifier (e.g., us-ashburn-1,
us-phoenix-1).
pass_phrase:
type: string
description: The passphrase for the private key, if encrypted.
required:
- user
- fingerprint
- tenancy
- region
writeOnly: true
required:
- secret_type
- secret
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
required:
- provider
required:
- data
ProviderSecretCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderSecretCreate'
required:
- data
ProviderSecretResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderSecret'
required:
- data
ProviderSecretUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- provider-secrets
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
name:
type: string
nullable: true
maxLength: 100
minLength: 3
secret_type:
enum:
- static
- role
- service_account
type: string
description: |-
* `static` - Key-value pairs
* `role` - Role assumption
* `service_account` - GCP Service Account Key
x-spec-enum-id: 20c74ebcd6671497
secret:
oneOf:
- type: object
title: AWS Static Credentials
properties:
aws_access_key_id:
type: string
description: The AWS access key ID. Required for environments
where no IAM role is being assumed and direct AWS access is
needed.
aws_secret_access_key:
type: string
description: The AWS secret access key. Must accompany 'aws_access_key_id'
to authorize access to AWS resources.
aws_session_token:
type: string
description: The session token associated with temporary credentials.
Only needed for session-based or temporary AWS access.
required:
- aws_access_key_id
- aws_secret_access_key
- type: object
title: AWS Assume Role
properties:
role_arn:
type: string
description: The Amazon Resource Name (ARN) of the role to assume.
Required for AWS role assumption.
external_id:
type: string
description: An identifier to enhance security for role assumption.
aws_access_key_id:
type: string
description: The AWS access key ID. Only required if the environment
lacks pre-configured AWS credentials.
aws_secret_access_key:
type: string
description: The AWS secret access key. Required if 'aws_access_key_id'
is provided or if no AWS credentials are pre-configured.
aws_session_token:
type: string
description: The session token for temporary credentials, if applicable.
session_duration:
type: integer
minimum: 900
maximum: 43200
default: 3600
description: The duration (in seconds) for the role session.
role_session_name:
type: string
description: |-
An identifier for the role session, useful for tracking sessions in AWS logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-
Examples:
- MySession123
- User_Session-1
- Test.Session@2
pattern: ^[a-zA-Z0-9=,.@_-]+$
required:
- role_arn
- external_id
- type: object
title: Azure Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
required:
- client_id
- client_secret
- tenant_id
- type: object
title: M365 Static Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
client_secret:
type: string
description: The client secret associated with the application
(client) ID, providing secure access.
user:
type: string
description: User microsoft email address.
deprecated: true
format: email
password:
type: string
description: User password.
deprecated: true
required:
- client_id
- client_secret
- tenant_id
- user
- password
- type: object
title: M365 Certificate Credentials
properties:
client_id:
type: string
description: The Azure application (client) ID for authentication
in Azure AD.
tenant_id:
type: string
description: The Azure tenant ID, representing the directory where
the application is registered.
certificate_content:
type: string
description: The certificate content in base64 format for certificate-based
authentication.
required:
- client_id
- tenant_id
- certificate_content
- type: object
title: GCP Static Credentials
properties:
client_id:
type: string
description: The client ID from Google Cloud, used to identify
the application for GCP access.
client_secret:
type: string
description: The client secret associated with the GCP client
ID, required for secure access.
refresh_token:
type: string
description: A refresh token that allows the application to obtain
new access tokens for extended use.
required:
- client_id
- client_secret
- refresh_token
- type: object
title: GCP Service Account Key
properties:
service_account_key:
type: object
description: The service account key for GCP.
required:
- service_account_key
- type: object
title: Kubernetes Static Credentials
properties:
kubeconfig_content:
type: string
description: The content of the Kubernetes kubeconfig file, encoded
as a string.
required:
- kubeconfig_content
- type: object
title: GitHub Personal Access Token
properties:
personal_access_token:
type: string
description: GitHub personal access token for authentication.
required:
- personal_access_token
- type: object
title: GitHub OAuth App Token
properties:
oauth_app_token:
type: string
description: GitHub OAuth App token for authentication.
required:
- oauth_app_token
- type: object
title: GitHub App Credentials
properties:
github_app_id:
type: integer
description: GitHub App ID for authentication.
github_app_key:
type: string
description: Path to the GitHub App private key file.
required:
- github_app_id
- github_app_key
- type: object
title: IaC Repository Credentials
properties:
repository_url:
type: string
description: Repository URL to scan for IaC files.
access_token:
type: string
description: Optional access token for private repositories.
required:
- repository_url
- type: object
title: Oracle Cloud Infrastructure (OCI) API Key Credentials
properties:
user:
type: string
description: The OCID of the user to authenticate with.
fingerprint:
type: string
description: The fingerprint of the API signing key.
key_file:
type: string
description: The path to the private key file for API signing.
Either key_file or key_content must be provided.
key_content:
type: string
description: The content of the private key for API signing (base64
encoded). Either key_file or key_content must be provided.
tenancy:
type: string
description: The OCID of the tenancy.
region:
type: string
description: The OCI region identifier (e.g., us-ashburn-1, us-phoenix-1).
pass_phrase:
type: string
description: The passphrase for the private key, if encrypted.
required:
- user
- fingerprint
- tenancy
- region
writeOnly: true
required:
- secret
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
ProviderSecretUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProviderSecretUpdate'
required:
- data
Resource:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- resources
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
uid:
type: string
title: Unique identifier for the resource, set by the provider
name:
type: string
title: Name of the resource, as set in the provider
region:
type: string
title: Location of the resource, as set by the provider
service:
type: string
title: Service of the resource, as set by the provider
tags:
type: object
description: Tags associated with the resource
example:
env: prod
owner: johndoe
readOnly: true
failed_findings_count:
type: integer
readOnly: true
type:
type: string
readOnly: true
required:
- uid
- name
- region
- service
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
findings:
type: object
properties:
data:
type: object
properties:
id:
type: string
type:
type: string
enum:
- findings
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
required:
- provider
ResourceMetadata:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- resources-metadata
id: {}
attributes:
type: object
properties:
services:
type: array
items:
type: string
regions:
type: array
items:
type: string
types:
type: array
items:
type: string
required:
- services
- regions
- types
ResourceMetadataResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ResourceMetadata'
required:
- data
ResourceResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Resource'
required:
- data
Role:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- roles
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 255
manage_users:
type: boolean
manage_account:
type: boolean
manage_integrations:
type: boolean
manage_providers:
type: boolean
manage_scans:
type: boolean
permission_state:
type: string
readOnly: true
unlimited_visibility:
type: boolean
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
provider_groups:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- provider-groups
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type provider-groups
title: provider-groups
users:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type users
title: users
invitations:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- invitations
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type invitations
title: invitations
readOnly: true
RoleCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- roles
attributes:
type: object
properties:
name:
type: string
maxLength: 255
manage_users:
type: boolean
manage_account:
type: boolean
manage_integrations:
type: boolean
manage_providers:
type: boolean
manage_scans:
type: boolean
permission_state:
type: string
readOnly: true
unlimited_visibility:
type: boolean
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
provider_groups:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- provider-groups
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type provider-groups
title: provider-groups
users:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type users
title: users
invitations:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- invitations
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type invitations
title: invitations
readOnly: true
RoleCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- roles
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
manage_users:
type: boolean
manage_account:
type: boolean
manage_integrations:
type: boolean
manage_providers:
type: boolean
manage_scans:
type: boolean
permission_state:
type: string
readOnly: true
unlimited_visibility:
type: boolean
inserted_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- name
relationships:
type: object
properties:
provider_groups:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- provider-groups
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type provider-groups
title: provider-groups
users:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type users
title: users
invitations:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- invitations
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type invitations
title: invitations
readOnly: true
required:
- data
RoleCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/RoleCreate'
required:
- data
RoleProviderGroupRelationshipRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- role-provider_groups
attributes:
type: object
properties:
provider_groups:
type: array
items:
$ref: '#/components/schemas/ProviderGroupResourceIdentifierRequest'
description: List of resource identifier objects representing provider
groups.
required:
- provider_groups
required:
- data
RoleResourceIdentifierRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- role-identifier
attributes:
type: object
properties:
resource_type:
type: string
minLength: 1
id:
type: string
format: uuid
required:
- resource_type
- id
required:
- data
RoleResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Role'
required:
- data
SAMLConfiguration:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- saml-configurations
id:
type: string
format: uuid
attributes:
type: object
properties:
email_domain:
type: string
description: Email domain used to identify the tenant, e.g. prowlerdemo.com
maxLength: 254
metadata_xml:
type: string
description: Raw IdP metadata XML to configure SingleSignOnService,
certificates, etc.
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- email_domain
- metadata_xml
SAMLConfigurationRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- saml-configurations
attributes:
type: object
properties:
email_domain:
type: string
minLength: 1
description: Email domain used to identify the tenant, e.g. prowlerdemo.com
maxLength: 254
metadata_xml:
type: string
minLength: 1
description: Raw IdP metadata XML to configure SingleSignOnService,
certificates, etc.
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
required:
- email_domain
- metadata_xml
required:
- data
SAMLConfigurationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/SAMLConfiguration'
required:
- data
Scan:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- scans
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
nullable: true
maxLength: 100
minLength: 3
trigger:
enum:
- scheduled
- manual
type: string
description: |-
* `scheduled` - Scheduled
* `manual` - Manual
x-spec-enum-id: 2e52c981d1c89bdf
readOnly: true
state:
enum:
- available
- scheduled
- executing
- completed
- failed
- cancelled
type: string
description: |-
* `available` - Available
* `scheduled` - Scheduled
* `executing` - Executing
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled
x-spec-enum-id: d38ba07264e1ed34
readOnly: true
unique_resource_count:
type: integer
maximum: 2147483647
minimum: -2147483648
progress:
type: integer
maximum: 2147483647
minimum: -2147483648
duration:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
inserted_at:
type: string
format: date-time
readOnly: true
started_at:
type: string
format: date-time
nullable: true
completed_at:
type: string
format: date-time
nullable: true
scheduled_at:
type: string
format: date-time
nullable: true
next_scan_at:
type: string
format: date-time
nullable: true
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
task:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- tasks
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
nullable: true
processor:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- processors
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
nullable: true
required:
- provider
ScanCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- scans
attributes:
type: object
properties:
name:
type: string
nullable: true
maxLength: 100
minLength: 3
relationships:
type: object
properties:
provider:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- providers
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
required:
- provider
required:
- data
ScanResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Scan'
required:
- data
ScanUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- scans
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
nullable: true
maxLength: 100
minLength: 3
ScanUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ScanUpdate'
required:
- data
ScheduleDailyCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- daily-schedules
attributes:
type: object
properties:
provider_id:
type: string
format: uuid
required:
- provider_id
required:
- data
SerializerMetaclassResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MuteRule'
required:
- data
Task:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tasks
id:
type: string
format: uuid
attributes:
type: object
properties:
inserted_at:
type: string
format: date-time
readOnly: true
completed_at:
type: string
format: date-time
readOnly: true
name:
type: string
readOnly: true
state:
type: string
enum:
- available
- scheduled
- executing
- completed
- failed
- cancelled
readOnly: true
result:
readOnly: true
task_args:
readOnly: true
metadata:
readOnly: true
TaskResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Task'
required:
- data
Tenant:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tenants
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 100
required:
- name
relationships:
type: object
properties:
memberships:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- memberships
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type memberships
title: memberships
readOnly: true
TenantApiKey:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- api-keys
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 100
minLength: 3
prefix:
type: string
readOnly: true
description: Unique prefix to identify the API key
expires_at:
type: string
format: date-time
readOnly: true
revoked:
type: boolean
description: If the API key is revoked, entities cannot use it anymore.
(This cannot be undone.)
inserted_at:
type: string
format: date-time
readOnly: true
last_used_at:
type: string
format: date-time
nullable: true
description: Last time this API key was used for authentication
required:
- name
relationships:
type: object
properties:
entity:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
nullable: true
TenantApiKeyCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- api-keys
attributes:
type: object
properties:
name:
type: string
maxLength: 100
minLength: 3
prefix:
type: string
readOnly: true
description: Unique prefix to identify the API key
expires_at:
type: string
format: date-time
revoked:
type: boolean
readOnly: true
description: If the API key is revoked, entities cannot use it anymore.
(This cannot be undone.)
inserted_at:
type: string
format: date-time
readOnly: true
last_used_at:
type: string
format: date-time
readOnly: true
nullable: true
description: Last time this API key was used for authentication
api_key:
type: string
readOnly: true
required:
- name
relationships:
type: object
properties:
entity:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
TenantApiKeyCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- api-keys
attributes:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 100
prefix:
type: string
readOnly: true
minLength: 1
description: Unique prefix to identify the API key
expires_at:
type: string
format: date-time
revoked:
type: boolean
readOnly: true
description: If the API key is revoked, entities cannot use it anymore.
(This cannot be undone.)
inserted_at:
type: string
format: date-time
readOnly: true
last_used_at:
type: string
format: date-time
readOnly: true
nullable: true
description: Last time this API key was used for authentication
api_key:
type: string
readOnly: true
required:
- name
relationships:
type: object
properties:
entity:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
required:
- data
TenantApiKeyCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TenantApiKeyCreate'
required:
- data
TenantApiKeyResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TenantApiKey'
required:
- data
TenantApiKeyUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- api-keys
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 100
minLength: 3
prefix:
type: string
readOnly: true
description: Unique prefix to identify the API key
expires_at:
type: string
format: date-time
readOnly: true
inserted_at:
type: string
format: date-time
readOnly: true
last_used_at:
type: string
format: date-time
readOnly: true
nullable: true
description: Last time this API key was used for authentication
required:
- name
relationships:
type: object
properties:
entity:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
type:
type: string
enum:
- users
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
nullable: true
TenantApiKeyUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TenantApiKeyUpdate'
required:
- data
TenantRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tenants
attributes:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
required:
- name
relationships:
type: object
properties:
memberships:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
title: Resource Identifier
description: The identifier of the related object.
type:
type: string
enum:
- memberships
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share
common attributes and relationships.
required:
- id
- type
required:
- data
description: A related resource object from type memberships
title: memberships
readOnly: true
required:
- data
TenantResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Tenant'
required:
- data
Token:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens
attributes:
type: object
properties:
email:
type: string
writeOnly: true
password:
type: string
writeOnly: true
tenant_id:
type: string
format: uuid
writeOnly: true
description: If not provided, the tenant ID of the first membership
that was added to the user will be used.
refresh:
type: string
readOnly: true
access:
type: string
readOnly: true
required:
- email
- password
TokenRefresh:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens-refresh
attributes:
type: object
properties:
refresh:
type: string
access:
type: string
readOnly: true
required:
- refresh
TokenRefreshRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens-refresh
attributes:
type: object
properties:
refresh:
type: string
minLength: 1
access:
type: string
readOnly: true
minLength: 1
required:
- refresh
required:
- data
TokenRefreshResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TokenRefresh'
required:
- data
TokenRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens
attributes:
type: object
properties:
email:
type: string
writeOnly: true
minLength: 1
password:
type: string
writeOnly: true
minLength: 1
tenant_id:
type: string
format: uuid
writeOnly: true
description: If not provided, the tenant ID of the first membership
that was added to the user will be used.
refresh:
type: string
readOnly: true
minLength: 1
access:
type: string
readOnly: true
minLength: 1
required:
- email
- password
required:
- data
TokenResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Token'
required:
- data
TokenSwitchTenant:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens-switch-tenant
attributes:
type: object
properties:
tenant_id:
type: string
format: uuid
writeOnly: true
description: The tenant ID for which to request a new token.
access:
type: string
readOnly: true
refresh:
type: string
readOnly: true
required:
- tenant_id
TokenSwitchTenantRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- tokens-switch-tenant
attributes:
type: object
properties:
tenant_id:
type: string
format: uuid
writeOnly: true
description: The tenant ID for which to request a new token.
access:
type: string
readOnly: true
minLength: 1
refresh:
type: string
readOnly: true
minLength: 1
required:
- tenant_id
required:
- data
TokenSwitchTenantResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TokenSwitchTenant'
required:
- data
User:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- users
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 150
minLength: 3
email:
type: string
format: email
description: Case insensitive
maxLength: 254
company_name:
type: string
maxLength: 150
date_joined:
type: string
format: date-time
readOnly: true
required:
- name
- email
relationships:
type: object
properties:
memberships:
type: object
properties:
data:
type: object
properties:
id:
type: string
type:
type: string
enum:
- memberships
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
roles:
type: object
properties:
data:
type: object
properties:
id:
type: string
type:
type: string
enum:
- roles
title: Resource Type Name
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common
attributes and relationships.
required:
- id
- type
required:
- data
description: The identifier of the related object.
title: Resource Identifier
readOnly: true
UserCreate:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- users
attributes:
type: object
properties:
name:
type: string
maxLength: 150
minLength: 3
password:
type: string
writeOnly: true
email:
type: string
format: email
description: Case insensitive
maxLength: 254
company_name:
type: string
required:
- name
- password
- email
UserCreateRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- users
attributes:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 150
password:
type: string
writeOnly: true
minLength: 1
email:
type: string
format: email
minLength: 1
description: Case insensitive
maxLength: 254
company_name:
type: string
minLength: 1
required:
- name
- password
- email
required:
- data
UserCreateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserCreate'
required:
- data
UserResponse:
type: object
properties:
data:
$ref: '#/components/schemas/User'
required:
- data
UserRoleRelationshipRequest:
type: object
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- user-roles
attributes:
type: object
properties:
roles:
type: array
items:
$ref: '#/components/schemas/RoleResourceIdentifierRequest'
description: List of resource identifier objects representing roles.
required:
- roles
required:
- data
UserUpdate:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes
and relationships.
enum:
- users
id:
type: string
format: uuid
attributes:
type: object
properties:
name:
type: string
maxLength: 150
minLength: 3
password:
type: string
writeOnly: true
email:
type: string
format: email
description: Case insensitive
maxLength: 254
company_name:
type: string
maxLength: 150
required:
- name
- email
UserUpdateResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserUpdate'
required:
- data
securitySchemes:
JWT or API Key:
type: http
scheme: bearer
bearerFormat: JWT
description: Supports both JWT Bearer tokens and API Key authentication. Use
`Bearer <token>` for JWT or `Api-Key <key>` for API keys.
tags:
- name: User
description: Endpoints for managing user accounts.
- name: Token
description: Endpoints for token management, including obtaining a new token and
refreshing an existing token for authentication purposes.
- name: Tenant
description: Endpoints for managing tenants, along with their memberships.
- name: Invitation
description: Endpoints for tenant invitations management, allowing retrieval and
filtering of invitations, creating new invitations, accepting and revoking them.
- name: Role
description: Endpoints for managing RBAC roles within tenants, allowing creation,
retrieval, updating, and deletion of role configurations and permissions.
- name: Provider
description: Endpoints for managing providers (AWS, GCP, Azure, etc...).
- name: Provider Group
description: Endpoints for managing provider groups.
- name: Task
description: Endpoints for task management, allowing retrieval of task status and
revoking tasks that have not started.
- name: Scan
description: Endpoints for triggering manual scans and viewing scan results.
- name: Schedule
description: Endpoints for managing scan schedules, allowing configuration of automated
scans with different scheduling options.
- name: Resource
description: Endpoints for managing resources discovered by scans, allowing retrieval
and filtering of resource information.
- name: Finding
description: Endpoints for managing findings, allowing retrieval and filtering of
findings that result from scans.
- name: Processor
description: Endpoints for managing post-processors used to process Prowler findings,
including registration, configuration, and deletion of post-processing actions.
- name: Compliance Overview
description: Endpoints for checking the compliance overview, allowing filtering
by scan, provider or compliance framework ID.
- name: Overview
description: Endpoints for retrieving aggregated summaries of resources from the
system.
- name: Integration
description: Endpoints for managing third-party integrations, including registration,
configuration, retrieval, and deletion of integrations such as S3, JIRA, or other
services.
- name: Lighthouse AI
description: Endpoints for managing Lighthouse AI configurations, including creation,
retrieval, updating, and deletion of configurations such as OpenAI keys, models,
and business context.
- name: SAML
description: Endpoints for Single Sign-On authentication management via SAML for
seamless user authentication.
- name: API Keys
description: Endpoints for API keys management. These can be used as an alternative
to JWT authorization.
- name: Mute Rules
description: Endpoints for simple mute rules management. These can be used as an
alternative to the Mutelist Processor if you need to mute specific findings across
your tenant with a specific reason.
servers:
- url: http://localhost:8080
description: Local Development Server
- url: https://api.prowler.com
description: Prowler Cloud API (Production)