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 ` for JWT or `Api-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)