openapi: 3.0.3 info: title: Prowler API version: 1.0.0 description: |- Prowler API specification. This file is auto-generated. paths: /api/v1/findings: get: operationId: findings_list description: Retrieve a list of all findings with options for filtering by various criteria. If no `scan` or `inserted_at` filter is provided, a default filter will be applied that will return all findings for the current day. summary: List all findings parameters: - in: query name: fields[Findings] schema: type: array items: type: string enum: - delta - status - status_extended - severity - check_id - check_metadata - raw_result - inserted_at - updated_at - 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 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[impact] schema: type: string 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 - in: query name: filter[inserted_at__lte] schema: type: string format: date - 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 enum: - aws - azure - gcp - kubernetes description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes - in: query name: filter[provider_type__in] schema: type: array items: type: string enum: - aws - azure - gcp - kubernetes description: |- Multiple values may be separated by commas. * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes 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 - in: query name: filter[scan__in] schema: type: string - 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 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 enum: - FAIL - MANUAL - MUTED - PASS description: |- * `FAIL` - Fail * `PASS` - Pass * `MANUAL` - Manual * `MUTED` - Muted - 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[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: - id - -id - status - -status - severity - -severity - check_id - -check_id - inserted_at - -inserted_at - updated_at - -updated_at explode: false tags: - Finding security: - jwtAuth: [] 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: - delta - status - status_extended - severity - check_id - check_metadata - raw_result - inserted_at - updated_at - 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: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/FindingResponse' description: '' /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[Provider] schema: type: array items: type: string enum: - inserted_at - updated_at - provider - uid - alias - connection - scanner_args - 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 - 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[provider] schema: type: string enum: - aws - azure - gcp - kubernetes description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes - in: query name: filter[provider__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[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 - 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: - provider - -provider - uid - -uid - alias - -alias - connected - -connected - inserted_at - -inserted_at - updated_at - -updated_at explode: false tags: - Provider security: - jwtAuth: [] 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: - jwtAuth: [] 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[Provider] schema: type: array items: type: string enum: - inserted_at - updated_at - provider - uid - alias - connection - scanner_args - 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 tags: - Provider security: - jwtAuth: [] 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: - jwtAuth: [] 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: - jwtAuth: [] responses: '202': content: application/vnd.api+json: schema: $ref: '#/components/schemas/OpenApiResponseResponse' 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: - jwtAuth: [] responses: '202': content: application/vnd.api+json: schema: $ref: '#/components/schemas/OpenApiResponseResponse' description: '' /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[Resource] schema: type: array items: type: string enum: - inserted_at - updated_at - uid - name - region - service - tags - provider - findings - 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 enum: - aws - azure - gcp - kubernetes description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes - in: query name: filter[provider_type__in] schema: type: array items: type: string enum: - aws - azure - gcp - kubernetes description: |- Multiple values may be separated by commas. * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes 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: 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: - findings 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: - jwtAuth: [] 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[Resource] schema: type: array items: type: string enum: - inserted_at - updated_at - uid - name - region - service - tags - provider - findings - 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 description: include query parameter to allow the client to customize which related resources should be returned. explode: false tags: - Resource security: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ResourceResponse' description: '' /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[Scan] schema: type: array items: type: string enum: - name - trigger - state - unique_resource_count - progress - scanner_args - duration - provider - task - started_at - completed_at - scheduled_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 - 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[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 enum: - aws - azure - gcp - kubernetes description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes - in: query name: filter[provider_type__in] schema: type: array items: type: string enum: - aws - azure - gcp - kubernetes description: |- Multiple values may be separated by commas. * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes 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[trigger] schema: type: string enum: - manual - scheduled description: |- * `scheduled` - Scheduled * `manual` - Manual - 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: - jwtAuth: [] 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: - jwtAuth: [] responses: '202': content: application/vnd.api+json: schema: $ref: '#/components/schemas/OpenApiResponseResponse' 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[Scan] schema: type: array items: type: string enum: - name - trigger - state - unique_resource_count - progress - scanner_args - duration - provider - task - started_at - completed_at - scheduled_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 - in: path name: id schema: type: string format: uuid description: A UUID string identifying this scan. required: true tags: - Scan security: - jwtAuth: [] 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: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ScanUpdateResponse' 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[Task] 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: - jwtAuth: [] 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[Task] 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: - jwtAuth: [] 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: - jwtAuth: [] responses: '202': content: application/vnd.api+json: schema: $ref: '#/components/schemas/OpenApiResponseResponse' 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[Tenant] 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: - jwtAuth: [] 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: - jwtAuth: [] 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[Tenant] 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: - jwtAuth: [] 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: - jwtAuth: [] 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: - jwtAuth: [] 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[Membership] 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: - jwtAuth: [] 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: - jwtAuth: [] 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: - jwtAuth: [] - {} 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: - jwtAuth: [] - {} responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/TokenRefreshResponse' description: '' /api/v1/users: post: operationId: users_create description: Create a new user account by providing the necessary registration details. summary: Register a new user 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: - jwtAuth: [] - {} 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. It only allows using your own user ID. summary: Retrieve a user's information parameters: - in: query name: fields[User] schema: type: array items: type: string enum: - name - email - company_name - date_joined - 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 user. required: true tags: - User security: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/UserResponse' description: '' patch: operationId: users_partial_update description: Partially update the authenticated user's information. summary: Update the current user's 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: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/UserUpdateResponse' description: '' delete: operationId: users_destroy description: Remove the authenticated user's account from the system. summary: Delete the current user's account parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this user. required: true tags: - User security: - jwtAuth: [] responses: '204': description: No response body /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[Membership] 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 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: - jwtAuth: [] 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[Membership] 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: - jwtAuth: [] 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[User] schema: type: array items: type: string enum: - name - email - company_name - date_joined - memberships description: endpoint return only specific fields in the response on a per-type basis by including a fields[TYPE] query parameter. explode: false tags: - User security: - jwtAuth: [] responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/UserResponse' description: '' components: schemas: Finding: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/FindingTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. id: type: string format: uuid attributes: type: object properties: delta: enum: - new - changed - null type: string description: |- * `new` - New * `changed` - Changed nullable: true status: enum: - FAIL - PASS - MANUAL - MUTED type: string description: |- * `FAIL` - Fail * `PASS` - Pass * `MANUAL` - Manual * `MUTED` - Muted 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 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 required: - 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: - Scan 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: object properties: id: type: string type: type: string enum: - Resource 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: - scan FindingResponse: type: object properties: data: $ref: '#/components/schemas/Finding' required: - data FindingTypeEnum: type: string enum: - Findings Membership: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/MembershipTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. id: type: string format: uuid attributes: type: object properties: role: enum: - owner - member type: string description: |- * `owner` - Owner * `member` - Member 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: - User 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: - Tenant 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 MembershipTypeEnum: type: string enum: - Membership OpenApiResponseResponse: type: object properties: data: $ref: '#/components/schemas/Task' required: - data PaginatedFindingList: type: object properties: data: type: array items: $ref: '#/components/schemas/Finding' required: - data PaginatedMembershipList: type: object properties: data: type: array items: $ref: '#/components/schemas/Membership' required: - data PaginatedProviderList: type: object properties: data: type: array items: $ref: '#/components/schemas/Provider' required: - data PaginatedResourceList: type: object properties: data: type: array items: $ref: '#/components/schemas/Resource' 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 PaginatedTenantList: type: object properties: data: type: array items: $ref: '#/components/schemas/Tenant' 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: - Provider id: {} attributes: type: object properties: alias: type: string nullable: true maxLength: 100 minLength: 3 scanner_args: {} 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: - Scan id: type: string format: uuid attributes: type: object properties: name: type: string nullable: true maxLength: 100 minLength: 3 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: - Tenant 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: - Membership 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 Membership title: Membership readOnly: true 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: - User 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 maxLength: 254 company_name: type: string maxLength: 150 required: - name - email required: - data Provider: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/Type4e8Enum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes uid: type: string title: Unique identifier for the provider, set by the provider maxLength: 63 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 scanner_args: {} required: - provider - uid ProviderCreate: type: object required: - type additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/Type4e8Enum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. attributes: type: object properties: alias: type: string nullable: true maxLength: 100 minLength: 3 provider: enum: - aws - azure - gcp - kubernetes type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes uid: type: string title: Unique identifier for the provider, set by the provider maxLength: 63 minLength: 3 scanner_args: {} 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: - Provider attributes: type: object properties: alias: type: string nullable: true maxLength: 100 minLength: 3 provider: enum: - aws - azure - gcp - kubernetes type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes uid: type: string minLength: 3 title: Unique identifier for the provider, set by the provider maxLength: 63 scanner_args: {} required: - uid required: - data ProviderCreateResponse: type: object properties: data: $ref: '#/components/schemas/ProviderCreate' required: - data ProviderResponse: type: object properties: data: $ref: '#/components/schemas/Provider' required: - data Resource: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/ResourceTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 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: - Provider 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: - Finding 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 ResourceResponse: type: object properties: data: $ref: '#/components/schemas/Resource' required: - data ResourceTypeEnum: type: string enum: - Resource Scan: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/Type2bbEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 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 readOnly: true unique_resource_count: type: integer maximum: 2147483647 minimum: -2147483648 progress: type: integer maximum: 2147483647 minimum: -2147483648 scanner_args: {} duration: type: integer maximum: 2147483647 minimum: -2147483648 nullable: 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 relationships: type: object properties: provider: type: object properties: data: type: object properties: id: type: string format: uuid type: type: string enum: - Provider 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: - Task 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: - Scan attributes: type: object properties: scanner_args: {} 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: - Provider 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: allOf: - $ref: '#/components/schemas/Type2bbEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 SerializerMetaclassResponse: type: object properties: data: $ref: '#/components/schemas/Provider' required: - data Task: type: object required: - type additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TaskTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 TaskTypeEnum: type: string enum: - Task Tenant: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TenantTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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: - Membership 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 Membership title: Membership readOnly: true 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: - Tenant 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: - Membership 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 Membership title: Membership readOnly: true required: - data TenantResponse: type: object properties: data: $ref: '#/components/schemas/Tenant' required: - data TenantTypeEnum: type: string enum: - Tenant Token: type: object required: - type additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TokenTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. attributes: type: object properties: email: type: string format: email 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: allOf: - $ref: '#/components/schemas/TokenRefreshTypeEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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: - TokenRefresh 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 TokenRefreshTypeEnum: type: string enum: - TokenRefresh 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: - Token attributes: type: object properties: email: type: string format: email 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 TokenTypeEnum: type: string enum: - Token Type2bbEnum: type: string enum: - Scan Type4e8Enum: type: string enum: - Provider TypeAddEnum: type: string enum: - User User: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TypeAddEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. id: type: string format: uuid attributes: type: object properties: name: type: string maxLength: 150 minLength: 3 email: type: string format: email 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: array items: type: object properties: id: type: string format: uuid title: Resource Identifier description: The identifier of the related object. type: type: string enum: - Membership 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 Membership title: Membership readOnly: true UserCreate: type: object required: - type additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TypeAddEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. attributes: type: object properties: name: type: string maxLength: 150 minLength: 3 password: type: string writeOnly: true email: type: string format: email 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: - User 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 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 UserUpdate: type: object required: - type - id additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/TypeAddEnum' description: The [type](https://jsonapi.org/format/#document-resource-object-identification) member is used to describe resource objects that share common attributes and relationships. 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 maxLength: 254 company_name: type: string maxLength: 150 required: - name - email UserUpdateResponse: type: object properties: data: $ref: '#/components/schemas/UserUpdate' required: - data securitySchemes: jwtAuth: type: http scheme: bearer bearerFormat: JWT