mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-11-09 04:38:49 +00:00
* chore(Tenant, Provider, Scan, Task, Resource): PRWLR-4966 set default ordering to -inserted_at * chore: PRWLR-4966 update API schema
3901 lines
107 KiB
YAML
3901 lines
107 KiB
YAML
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
|