From 6815a9dd86c12bd7d71356d27d6de78d3ec44ffa Mon Sep 17 00:00:00 2001 From: "Andoni A." <14891798+andoniaf@users.noreply.github.com> Date: Wed, 5 Nov 2025 12:04:18 +0100 Subject: [PATCH] feat(api): add dynamic server URL configuration to OpenAPI schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new postprocessing hook 'add_api_servers' that dynamically configures the servers array in the OpenAPI specification based on the request environment. This hook: - Detects the current environment (local, staging, or production) from the request host - Adds the current server URL as the primary option - Includes production (https://api.prowler.com) as a fallback option when generating from non-production environments - Enables users to toggle between local and production servers in Mintlify's API playground via a dropdown Server detection logic: - localhost/127.0.0.1 → "Local Development Server" - hosts with 'dev' or 'staging' → "Development/Staging API" - api.prowler.com → "Prowler Cloud API" This enables the "Try it out" feature in Mintlify documentation and allows testing against different environments without modifying the spec. --- api/src/backend/api/schema_hooks.py | 47 + api/src/backend/config/django/base.py | 1 + docs/api-reference/openapi.json | 10 + docs/api-reference/openapi.yaml | 18998 ------------------------ 4 files changed, 58 insertions(+), 18998 deletions(-) delete mode 100644 docs/api-reference/openapi.yaml diff --git a/api/src/backend/api/schema_hooks.py b/api/src/backend/api/schema_hooks.py index 726bcfdc50..f6572518ff 100644 --- a/api/src/backend/api/schema_hooks.py +++ b/api/src/backend/api/schema_hooks.py @@ -152,6 +152,53 @@ def fix_type_formats(result, generator, request, public): # noqa: F841 return fix_invalid_types(result) +def add_api_servers(result, generator, request, public): # noqa: F841 + """ + Add servers configuration to OpenAPI spec for Mintlify API playground. + This enables the "Try it out" feature in the documentation. + Dynamically determines the server URL based on the request. + """ + if not isinstance(result, dict): + return result + + # Add servers array if not already present + if "servers" not in result: + servers = [] + + # Try to get the current server URL from the request + if request: + scheme = request.scheme # http or https + host = request.get_host() # e.g., localhost:8080 or api.prowler.com + + # Determine description based on host + if "localhost" in host or "127.0.0.1" in host: + description = "Local Development Server" + elif "dev" in host or "staging" in host: + description = "Development/Staging API" + else: + description = "Prowler Cloud API" + + servers.append( + { + "url": f"{scheme}://{host}", + "description": description, + } + ) + + # Always add production as fallback/alternative + if not servers or (request and "prowler.com" not in request.get_host()): + servers.append( + { + "url": "https://api.prowler.com", + "description": "Prowler Cloud API (Production)", + } + ) + + result["servers"] = servers + + return result + + def attach_task_202_examples(result, generator, request, public): # noqa: F841 if not isinstance(result, dict): return result diff --git a/api/src/backend/config/django/base.py b/api/src/backend/config/django/base.py index f1ff4680a6..58a6265b94 100644 --- a/api/src/backend/config/django/base.py +++ b/api/src/backend/config/django/base.py @@ -128,6 +128,7 @@ SPECTACULAR_SETTINGS = { "api.schema_hooks.fix_empty_id_fields", "api.schema_hooks.fix_pattern_properties", "api.schema_hooks.fix_type_formats", + "api.schema_hooks.add_api_servers", "api.schema_hooks.attach_task_202_examples", ], "TITLE": "API Reference - Prowler", diff --git a/docs/api-reference/openapi.json b/docs/api-reference/openapi.json index 42bb828559..05f66e23de 100644 --- a/docs/api-reference/openapi.json +++ b/docs/api-reference/openapi.json @@ -25722,5 +25722,15 @@ "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)" + } ] } diff --git a/docs/api-reference/openapi.yaml b/docs/api-reference/openapi.yaml deleted file mode 100644 index 7beb559c12..0000000000 --- a/docs/api-reference/openapi.yaml +++ /dev/null @@ -1,18998 +0,0 @@ -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 - patternProperties: - .*: - type: object - properties: - Checks: - type: object - patternProperties: - .*: - 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 - additionalProperties: false - required: - - Checks - additionalProperties: false - 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: email - description: User microsoft email address. - deprecated: true - 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 - patternProperties: - .*: - type: object - properties: - Checks: - type: object - patternProperties: - .*: - 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 - additionalProperties: false - required: - - Checks - additionalProperties: false - 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 - patternProperties: - .*: - type: object - properties: - Checks: - type: object - patternProperties: - .*: - 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 - additionalProperties: false - required: - - Checks - additionalProperties: false - 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 - patternProperties: - .*: - type: object - properties: - Checks: - type: object - patternProperties: - .*: - 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 - additionalProperties: false - required: - - Checks - additionalProperties: false - 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 - patternProperties: - .*: - type: object - properties: - Checks: - type: object - patternProperties: - .*: - 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 - additionalProperties: false - required: - - Checks - additionalProperties: false - 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: email - description: User microsoft email address. - deprecated: true - 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: email - description: User microsoft email address. - deprecated: true - 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: email - description: User microsoft email address. - deprecated: true - 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.